布局:
外层span 树节点 { { node.label }} 内层span(用于文本内容显示)
:title="node.label" 绑定该属性可实现将鼠标移上去显示全部内容
样式:
.custom-tree-node { flex: 1; display: flex;//这里的display属性不用修改(使树节点末尾的按钮右对齐) align-items: center; justify-content: space-between; font-size: 12px; padding-right: 4px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; width: 100%;//宽度必须是这个,不能使用px或者min-width或者min-width等,因为外层使用了el-card包裹是可以拉动的,换言之树节点的宽度随时可变 & span.em-tree-text{ display: inline-block;//block一样 overflow: hidden; white-space: nowrap; width:100%; text-overflow: ellipsis; }
另外:input框获取文本内容时,内容过长显示不完全也会将文本框内末尾的图标覆盖,看上去杂乱无章,原理同上,背景同上(也是使用的el-card包裹,左右拖动dragbar文本框的宽度会变化,也是动态的)
.el-input__inner{ height: 30/$r+rem !important;//tree-from-input display: inline-block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;//超出输入框宽度就自动显示三个小点,但不能设置具体宽度! padding-right: 25px; width: 100%; }