ElementUI中el-tree获取每个节点点击的选中状态
    		       		warning:
    		            这篇文章距离上次修改已过429天,其中的内容可能已经有所变动。
    		        
        		                
                在ElementUI的el-tree组件中,可以通过监听node-click事件来获取每个节点的点击事件,但是直接获取勾选状态不如人意。因为el-tree组件并没有直接提供获取每个节点勾选状态的属性或方法。
解决方案是使用el-tree的getCheckedNodes方法,该方法可以获取到所有当前被勾选的节点数组。但是如果需要在每次点击节点的时候获取到该节点的勾选状态,你需要自行维护一个状态映射。
以下是一个基于Vue和ElementUI的解决方案示例:
<template>
  <el-tree
    :data="data"
    show-checkbox
    node-key="id"
    ref="tree"
    @check="handleCheck"
    @node-click="handleNodeClick"
  >
  </el-tree>
</template>
 
<script>
export default {
  data() {
    return {
      data: [
        // ... 树形结构的数据
      ],
      checkedNodes: {}
    };
  },
  methods: {
    handleCheck(data, checked, indeterminate) {
      this.checkedNodes[data.id] = checked;
    },
    handleNodeClick(data) {
      const checked = this.checkedNodes[data.id] || false;
      console.log('节点状态:', checked ? '勾选' : '未勾选');
    }
  }
};
</script>在这个示例中,我们使用了handleCheck方法来监听节点的勾选状态变化,并更新checkedNodes对象。在handleNodeClick方法中,我们通过访问checkedNodes对象来获取当前节点的勾选状态。这样,每次点击节点时,我们都可以通过控制台输出来查看该节点的勾选状态。
评论已关闭