鼠标悬浮在树组件节点上展示当前节点名称

方法一:使用CSS样式

在树组件的模板中,为每个节点的外层元素绑定一个类名,例如"tree-node",并设置一个自定义属性来保存节点名称。

javascript 复制代码
<el-tree v-if="showCheck" ref="treeRef" :data="treeData" :props="keyProps" :filter-node-method="filterAction" :default-expand-all="expandFlag">
	<template v-slot:default="{ node, data }">
		<span class="custom-tree-node tree-node" :data-label="node.label">
			<el-checkbox-group v-if="!data[keyProps.children]" v-model="checkValue">
				<el-checkbox :label="data[keyProps.value]" :disabled="data.disabled" @change="flag => onCheck(flag, data)">
					{{ node.label }}
				</el-checkbox>
			</el-checkbox-group>
			<span v-else>
				{{ node.label }}
			</span>
		</span>
	</template>
</el-tree>

使用CSS样式来实现鼠标悬浮时显示节点名称的效果。

在CSS样式中,通过::before伪元素来创建一个内容框,然后使用attr(data-label)来获取节点名称,并设置为内容框的内容。通过调整top和left属性来调整弹出框的位置。可以根据需要自定义调整样式。

确保将CSS样式正确应用到树组件的外层容器或适当的父元素上。

css 复制代码
:deep(.el-tree) {
	.el-tree-node__content {
		position: relative;
	}
	.tree-node:hover::before {
		content: attr(data-label); /* 设置节点名称内容 */
		position: absolute;
		top: 26px; /* 调整弹出框位置 */
		left: 40px;
		background-color: #fff; /* 弹出框背景色 */
		padding: 4px 8px;
		border: 1px solid #ccc; /* 弹出框边框样式 */
		border-radius: 4px;
		z-index: 999;
	}
}

方法二:(在checkBox绑定)

将提示文本保存在节点数据中,然后在el-checkbox元素上使用v-bind:title指令来绑定节点数据中的提示文本。

javascript 复制代码
<el-tree v-if="showCheck" ref="treeRef" :data="treeData" :props="keyProps" :filter-node-method="filterAction" :default-expand-all="expandFlag">
	<template v-slot:default="{ node, data }">
		<span class="custom-tree-node">
			<el-checkbox-group v-if="!data[keyProps.children]" v-model="checkValue">
				<el-checkbox :label="data[keyProps.value]" :disabled="data.disabled" @change="flag => onCheck(flag, data)" :title="node.label">
					{{ node.label }}
				</el-checkbox>
			</el-checkbox-group>
			<span v-else>
				{{ node.label }}
			</span>
		</span>
	</template>
</el-tree>

方法三:使用tooltip

javascript 复制代码
<el-tree v-if="showCheck" ref="treeRef" :data="treeData" :props="keyProps" :filter-node-method="filterAction" :default-expand-all="expandFlag">
	<template v-slot:default="{ node, data }">
		<span class="custom-tree-node">
			<el-checkbox-group v-if="!data[keyProps.children]" v-model="checkValue">
				<el-checkbox :label="data[keyProps.value]" :disabled="data.disabled" @change="flag => onCheck(flag, data)">
					<el-tooltip class="item" effect="dark" :content="node.label" placement="bottom-start" show-after="300">
						<template>
							<span>{{ node.label }}</span>
						</template>
					</el-tooltip>
				</el-checkbox>
			</el-checkbox-group>
			<span v-else>
				<el-tooltip class="item" effect="dark" :content="node.label" placement="bottom-start" show-after="300">
					<template>
						<span>{{ node.label }}</span>
					</template>
				</el-tooltip>
			</span>
		</span>
	</template>
</el-tree>
相关推荐
福兮说4 小时前
设计稿是 #4A7C6F,页面量出来是 #4B7C6F:HEX、HSL、透明度、canvas 来回转的七个坑
前端·javascript·css·canvas
郑州光合科技余经理5 小时前
海外版外卖加盟:总站与分站配送规则怎么分开管
java·开发语言·前端·后端·uni-app·php·ai编程
专业程序开发源5 小时前
springboot简历管理系统81389-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·spring·php·课程设计
专业程序开发源5 小时前
springboot社区养老系统44071-计算机课程设计、毕业设计
vue.js·spring boot·后端·python·django·php·课程设计
小呆呆6666 小时前
副业搞起来,小说,漫画,漫剧的成本优化思路
前端·后端·面试
凤城老人6 小时前
从 PyQt6 到 Electron:给 Edge TTS 做一个“多角色配音机“的踩坑手记
javascript·typescript·electron
Dovis(誓平步青云)6 小时前
浇水提醒刚弹出又消失,植物状态别只存一个百分比
开发语言·前端·javascript·pdf·ecmascript·电脑
码艺-Alimjan6 小时前
Vben Admin 新增维吾尔语 Vben-Modal的关键坑之一
前端·javascript·vue.js
可乐鸡翅yeah_7 小时前
hls.js 手动自定义 http 请求 loader,修改请求头实战
开发语言·前端·javascript·网络协议·http·ecmascript·m3u8在线
IT_陈寒7 小时前
Vite静态资源导入这个坑我帮你们踩过了
前端·人工智能·后端