elementUi tree 实现点击复选框后文字,复选框选中,再次点击取消选中

           <el-tree
                    ref="writTree"
                    :data="waitSelectWritList"
                    show-checkbox
                    node-key="id"
                    :highlight-current="true"
                    default-expand-all
                    @node-click="handleNodeClick"
                    @check-change="handleCheckChange"
                    :props="{children: 'children',label: 'writName'}">
            </el-tree>

 


//writSelection为被选中数组
handleNodeClick(data){
     const index = this.writSelection.findIndex(d => d.id === data.id);
      if(index>-1){
            this.$refs.writTree.setChecked(data,false)
      }else{
            this.$refs.writTree.setChecked(data,true)
            }
     },
handleCheckChange(data, checked, indeterminate){
      if(checked){
         this.writSelection.push(data);
       }else{
             const index = this.writSelection.findIndex(d => d.id === data.id);
              this.writSelection.splice(index, 1);
        }
            console.log("操作后",this.writSelection)
},

 

el-tree 中,要实现点击节点选中取消选中的功能,你可以按照以下步骤进行操作: 1. 首先,为每个节点添加一个额外的属性来记录其选中状态。你可以在数据源中为每个节点对象添加一个名为 `checked` 的属性,并将其初始值设置为 `false`。 2. 在 el-tree 的 `node-click` 事件中,切换节点的选中状态。你可以通过监听 `node-click` 事件来获取点击的节点对象,并在事件处理程序中切换 `checked` 属性的值。例如,你可以使用以下代码: ```html <el-tree :data="treeData" @node-click="handleNodeClick"></el-tree> ``` ```javascript methods: { handleNodeClick(data) { data.checked = !data.checked; } } ``` 3. 在 el-tree 的节点模板中,根据节点的选中状态来设置相应的样式。你可以使用 `:class` 绑定动态类名,根据节点的 `checked` 属性来判断是否添加一个表示选中状态的类名。例如,你可以使用以下代码: ```html <el-tree :data="treeData" :props="{ 'class': 'custom-node' }" @node-click="handleNodeClick"> <template v-slot="{ node }"> <span :class="{'custom-node-selected': node.checked}">{{ node.label }}</span> </template> </el-tree> ``` ```css .custom-node-selected { background-color: #e0f0ff; } ``` 通过以上步骤,你就可以实现 el-tree点击节点选中取消选中的功能了。每当你点击一个节点时,它的 `checked` 属性将会切换,并且节点的样式也会相应地改变。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值