当前位置: 首页 > news >正文

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

方法一:使用CSS样式

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

<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样式正确应用到树组件的外层容器或适当的父元素上。

: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指令来绑定节点数据中的提示文本。

<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

<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>
http://www.lryc.cn/news/266880.html

相关文章:

  • 构建创新学习体验:企业培训系统技术深度解析
  • 云计算:现代技术的基本要素
  • (1)(1.11) SiK Radio v2(一)
  • 视频号视频怎么保存到手机相册?
  • 【svn】win11最新svn每天自动化定时update、commit,隐藏窗口,定时脚本编写
  • 【YOLO系列】YOLOv3代码详解(四):模型脚本model.py
  • Elasticsearch可视化平台Kibana [ES系列] - 第498篇
  • Python深度学习029:pytorch中常用的模块或方法
  • MongoDB创建和查询视图(二)
  • 【MYSQL】MYSQL 的学习教程(七)之 慢 SQL 优化思
  • iOS - 真机调试的新经验
  • thinkphp6.0的workerman在PHP8.0下报错
  • SQL语句分类
  • C# Onnx yolov8 pokemon detection
  • Flink电商实时数仓(六)
  • 本地部署Jellyfin影音服务器并实现远程访问内网影音库
  • 【React Native】第一个Android应用
  • 解决IOS transform rotate后文字无法显示,backface-visibility导致@click事件失效
  • Nature | 大型语言模型(LLM)能够产生和发现新知识吗?
  • 多维时序 | MATLAB实CNN-Mutilhead-Attention卷积神经网络融合多头注意力机制多变量时间序列预测
  • Nature 新研究发布,GPT 驱动的机器人化学家能够自行设计和进行实验,这对科研意味着什么?
  • Ai画板原理
  • 【hacker送书第11期】Python数据分析从入门到精通
  • 华为OD机试 - 精准核酸检测(Java JS Python C)
  • 智能优化算法应用:基于材料生成算法3D无线传感器网络(WSN)覆盖优化 - 附代码
  • 【MySQL】:超详细MySQL完整安装和配置教程
  • OpenAI亲授ChatGPT “屠龙术”!官方Prompt 工程指南来啦
  • 最新ChatGPT商业运营网站程序源码,支持Midjourney绘画,GPT语音对话+DALL-E3文生图+文档对话总结
  • 经验 | IDEA常用快捷键
  • spark中 write.csv时, 添加第一行的标题title