当前位置: 首页 > article >正文

Element Plus中的树组件的具体用法(持续更新!)

const defaultProps = {
  //子树为节点对象的children
  children: 'children',
  //节点标签为节点对象的name属性
  label: 'name',
}

属性

以下是树组件中的常用属性以及作用:

data:展示的数据(数据源)

show-checkbox:节点是否可被选择(点击可以选中)

node-key:每个树节点用来作为唯一标识的属性,整棵树应该是唯一的(如果树中包含children子数据,该属性不能省略)

default-expand-all:默认展开所有节点

default-checked-keys:默认勾选的节点的 key 的数组(是一个数组,数组中存放的就是上面node-key存放的唯一标识)

default-expanded-keys:默认展开的节点的 key 的数组(是一个数组,数组中存放的就是上面node-key存放的唯一标识)

current-node-key:当前选中的节点(可以是number或string类型)

props:接收一个对象,对象中可以包含以下两个属性(还可以包含其他属性,这里只列举了以下两个)

label:指定节点标签为节点对象的某个属性值(就是代表了要在页面中展示的节点名称) ,children:指定子树为节点对象的某个属性值(就是代表去哪个字段下读取数据当作子节点的数据)(注意:label和children这两个属性名是不变的,属性值需要根据项目需要进行修改)

方法

常用方法:

使用el-tree树组件提供的方法时,需要先在el-tree组件标签上利用ref打上标识(<el-tree ref="xxx"> </el-tree>),然后通过ref得到el-tree组件实例才能调用对应方法!

1. getCheckedKeys:如果在el-tree标签上设置了show-checkbox属性且被选中,通过树组件实例.getCheckedKeys进行调用,它将返回当前选中节点key的数组(该数组由所有被选中的节点的id属性组成【为什么是id属性呢?        因为:在el-tree标签上设置了node-key="id"属性。所以该方法会收集所有选中的节点对象的id属性】)

 2. getHalfCheckedNodes:如果在el-tree标签上设置了show-checkbox属性且被选中,通过树组件实例.getHalfCheckedNodes进行调用,它将返回当前半选中的节点组成的数组
如遇这种情况该方法一般会和上面的getCheckedKeys配合使用

下方代码意思是:将利用getCheckedKeys得到的id数组和利用getHalfCheckedKeys得到的半选id数组合并然后作为向服务器发送请求的参数

//抽屉确定按钮的回调
const handler = async () => {
  //职位(角色)的ID
  const roleId = RoleParams.id as number
  //选中节点的ID		getCheckedKeys方法会得到show-checkbox为true选中的全部节点对象的id组成的数组
  //为什么是能收集到id 		因为el-tree配置了node-key="id"属性
  let arr = tree.value.getCheckedKeys()
  //半选的ID
  let arr1 = tree.value.getHalfCheckedKeys()
  let permissionId = arr.concat(arr1)
  //下发权限
  let result: any = await reqSetPermisstion(roleId, permissionId)
  if (result.code == 200) {
    //抽屉关闭
    drawer.value = false
    //提示信息
    ElMessage({ type: 'success', message: '分配权限成功' })
    //页面刷新
    window.location.reload()
  }
}


http://www.kler.cn/a/573451.html

相关文章:

  • Logback:高性能日志框架完全指南
  • 微信小程序接入deepseek
  • 【文生图】windows 部署stable-diffusion-webui
  • 数组中的逆序对(C++)
  • BasicToolNode(tools=[search_tool, lookup_policy, query_sqldb])的内部执行逻辑
  • Android ChatOn-v1.66.536-598-[构建于ChatGPT和GPT-4o之上]
  • 大模型巅峰对决:DeepSeek vs GPT-4/Claude/PaLM-2 全面对比与核心差异揭秘
  • FastExcel/EasyExcel简介以及源码解析
  • 张岳教授:语言模型推理与泛化研究 | ICLR 2025 特邀报告与团队专场
  • 18类创新平台培育入库!长沙经开区2025年各类科技创新平台培育申报流程时间材料及申报条件
  • jQuery UI 简介
  • 【漫话机器学习系列】119.小批量随机梯度方法
  • 机器学习中的优化方法:从局部探索到全局约束
  • Measuring short-form factuality in large language models (SimpleQA) 论文简介
  • mybatis日期格式与字符串不匹配bug
  • 解锁前端表单数据的秘密旅程:从后端到用户选择!✨
  • 微服务通信:用gRPC + Protobuf 构建高效API
  • Java+SpringBoot+Vue+数据可视化的百草园化妆服务平台(程序+论文+讲解+安装+调试+售后)
  • 年后寒假总结及计划安排
  • linux安装Kafka以及windows安装Kafka和常见问题解决