el-tree选中节点

这篇博客介绍了如何在JavaScript应用中,利用数据数组自动选中并(如果需要)展开树形结构的节点。核心方法是通过$refs访问tree组件,然后调用setChecked方法,传入对应的id和选中状态。同时,使用$nextTick确保DOM更新后再执行操作,以正确设置节点状态。此外,还展示了如何根据数据动态更新已选中的节点列表。
摘要由CSDN通过智能技术生成

根据数据来自动选中节点

在这里插入图片描述
首先需要拿到这个数组的值中的id,再与树的id进行比对,通过这个属性进行设置
在这里插入图片描述
主要是这个,根据id进行选中

this.$nextTick(()=>{
                //给每个id对应的check选中
                this.$refs.tree.setChecked(data.deptid,true, true)
              })

这里是整个方法,我注释掉的自动打开节点的

loadTreeList(){
        if(this.data_items.length > 0 ){
          this.data_items.forEach((data)=>{
          //自动打开节点
            // this.checkExpend.push(data.deptid)
            setTimeout(()=>{
              this.$nextTick(()=>{
                //给每个id对应的check选中
                this.$refs.tree.setChecked(data.deptid,true, true)
              })
            },100)
            //清空已经选中的
            this.$refs.tree.setCheckedKeys([]);
          })
        }else{
          this.$refs.tree.setCheckedKeys([]);
          this.checkExpend = [1]
        }
      },
要给el-tree选中节点设置样式,可以通过在node-click事件中操作。首先,我们可以在HTML代码中使用@node-click="handleNodeClick"来绑定一个事件处理方法。在该方法中,我们可以获取到点击的节点信息,并通过该信息来设置选中节点的样式。 可以使用以下步骤来实现: 1. 在Vue组件的methods中定义一个handleNodeClick方法,该方法接收一个参数,表示点击的节点信息。 2. 在handleNodeClick方法中,***的classList属性,可以为找到的DOM节点添加一个选中节点的样式类。例如,可以使用classList.add("selected")来添加一个名为"selected"的样式类。 4. 另外,需要确保在CSS样式表中定义了相应的选中节点的样式。可以使用.selected来设置选中节点的样式。 下面是一个示例代码: HTML代码: ```html <el-tree id="column-tree" ref="catalogTree" :data="catalogTableData" :props="defaultProps" highlight-current="true" @node-click="handleNodeClick"></el-tree> ``` JavaScript代码: ```javascript methods: { handleNodeClick(node) { // 查找对应的DOM节点 var columnTree = document.getElementById("column-tree"); var selectedNode = columnTree.querySelector('[data-key="' + node.key + '"]'); // 添加选中节点的样式类 selectedNode.classList.add("selected"); } } ``` CSS样式表: ```css .selected { background-color: yellow; } ``` 这样,当点击el-tree中的节点时,会触发handleNodeClick方法,找到对应的DOM节点并添加选中节点的样式类,从而实现选中节点的样式效果。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [el-tree的默认选择节点的样式](https://blog.csdn.net/java_xxxx/article/details/86521987)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [el-tree树的默认节点样式,以及默认样式的取消](https://blog.csdn.net/java_xxxx/article/details/88552503)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小莉爱编程

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

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

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

打赏作者

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

抵扣说明:

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

余额充值