Element Plus中tree展开折叠,全选全不选,获取所有选中,所有半选

<el-tree ref="menuTreeRef"/>
const menuTreeRef = ref(ElTree);
import { ElTree } from 'element-plus';

//展开/折叠
function handleCheckedTreeExpand(value: any) {
  for (let i = 0; i < menuOptions.value.length; i++) {
    menuTreeRef.value.store.nodesMap[menuOptions.value[i].id].expanded = value;
  }
}
//全选/全不选
function handleCheckedTreeNodeAll(value: any) {
  console.log('handleCheckedTreeNodeAll')
  menuTreeRef.value.setCheckedNodes(value ? menuOptions.value : [])
}
//设置部分选中
checkedKeys.forEach((v: any) => {
  menuTreeRef.value.setChecked(v, true, false);
})
// 所有菜单节点数据
function getMenuAllCheckedKeys(): number[] {
  // 目前被选中的菜单节点
  let checkedKeys = menuTreeRef.value.getCheckedKeys();
  // 半选中的菜单节点
  let halfCheckedKeys = menuTreeRef.value.getHalfCheckedKeys();
  checkedKeys.unshift.apply(checkedKeys, halfCheckedKeys);
  return checkedKeys;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容