el-tree加载完成后默认触发点击事件非默认选中(上)选中第一个节点点击

本文介绍了在Vue项目中使用Element UI的el-tree组件时,如何实现在树加载完成后默认点击第一个节点,以触发查询操作。通过监听数据变化,获取并模拟点击第一个节点的事件。同时提供了相关功能的进一步阅读链接,包括el-tree的点击事件处理和动态拖拽排序。
摘要由CSDN通过智能技术生成

如果你浪费了自己的年龄,那是挺可悲的。因为你的青春只能持续一点儿时间——很短的一点儿时间。 —— 王尔德

前言

最近工作使用Vue+Element UI来进行开发,遇到部门树功能的时候选择了el-tree组件来展示,功能都完成了,但需要在加载完成后默认点击第一个节点,从而查询右侧对应的部门人员信息,但官方没有提供默认触发node-click事件,通过Google找到相关答案

效果图:
部门树
代码如下

watch: {
   
    // 根据名称筛选部门树
    deptName(val) {
   
      this.$refs
el-treeElement UI 中的组件,用于展示树形数据结构。懒加载是指节点数据只在需要时才加载,以提高性能。部分节点默认选中指的是在渲染树形结构时,某些节点根据业务逻辑默认选中。 以下是一个简单的实现 el-tree 实现懒加载和部分节点默认选中的完整代码示例,使用的是 Vue.js 框架: ```html <template> <div> <el-tree :data="data" :props="defaultProps" lazy :load="loadNode" :default-checked-keys="defaultCheckedKeys" node-key="id" ></el-tree> </div> </template> <script> export default { data() { return { data: [], // 树形数据 defaultProps: { children: 'children', label: 'label' }, defaultCheckedKeys: ['1'], // 默认选中节点id }; }, methods: { loadNode(node, resolve) { // 模拟懒加载处理 if (node.level === 0) { setTimeout(() => { // 第一层节点直接展开 resolve([ { id: '1-1', label: '一级-1', label: '二级-1-1' } ] }, { id: '1-2', label: '一级-2', children: [ { id: '1-2-1', label: '二级-1-2' } ] } ]); }, 500); } else { // 其他层节点默认加载空数据 resolve([]); } } }, mounted() { // 模拟异步获取数据 setTimeout(() => { this.data = [ { id: '1', label: '一级 1', children: [ { id: '1-1', label: '二级 1-1' }, { id: '1-2', label: '二级 1-2' } ] }, { id: '2', label: '一级 2', children: [ { id: '2-1', label: '二级 2-1' } ] } ]; }, 1000); } }; </script> ``` 在这个代码示例中: - `data` 是树形结构数据的数组。 - `defaultProps` 是树形组件的属性配置,这里定义了子节点的键名为 `children`,节点显示文本的键名为 `label`。 - `defaultCheckedKeys` 定义了默认选中节点的id列表。 - `loadNode` 方法用于处理懒加载逻辑,当节点第一次被展开时触发。这里我们通过判断 `node.level` 来决定如何加载数据。如果是根节点,则异步加载节点数据;否则返回空数组,表示没有子节点。 - `mounted` 钩子函数用于模拟异步加载树形数据。
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小狐狸和小兔子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值