el-tree新增节点滚动到新增的节点
时间: 2024-08-14 07:05:46 浏览: 57
在Element UI的`el-tree`组件中,如果你需要实现当动态添加新节点后自动滚动到新添加的节点,可以利用`element-ui/el-tree`提供的`@node-add`事件监听器。这个事件会在节点被添加到树结构后触发。
首先,在你的Vue实例中,你需要注册`node-add`事件处理器,并利用`this.$refs.treeEl`引用tree元素的DOM,然后使用`scrollIntoView()`方法将焦点滚动到新节点:
```html
<template>
<el-tree :data="treeData" ref="treeEl" @node-add="onNodeAdd"></el-tree>
</template>
<script>
export default {
methods: {
onNodeAdd(node) {
// 确保在节点实际插入DOM后再进行滚动操作
setTimeout(() => {
const treeDom = this.$refs.treeEl;
if (treeDom && node) {
treeDom.$el.querySelector(`li[data-node-id="${node.id}"]`).scrollIntoView({
behavior: 'smooth', // 可选平滑滚动效果
});
}
}, 0);
},
},
data() {
return {
treeData: [], // 初始化树数据
};
},
};
</script>
```
在这个例子中,`behavior: 'smooth'`是可选的,如果希望有平滑滚动的效果,可以设置它;如果没有特别需求,默认的滚动行为就是直接定位到目标节点。
阅读全文