动态获取部门(el-tree-select)自定义键名

1
2
3
4
5
6
7
8
9
10
<el-tree-select            check-strictly
           size="large"
           :props="treeProps"
           :data="datas.dataTree"
           v-model="datas.Departmentid"
           :multiple="false"
           placeholder="请选择"
           :normalizer="normalizer"
           @node-click="handleNodeClick"
         />
 
const dataTree = reactive([] as any[]);

//初始化
onMounted(() => {
  getDeptTree().then((data) => {
    //console.log("树形选择", data);

    //部门
    Object.assign(dataTree, data?.Data); //赋值

    //反序列
    const clonData = JSON.parse(JSON.stringify(data?.Data)); //深度克隆

    //console.log("深度转化", clonData);
    //const bb = normalizer(clonData);
    //datas.dataTree.push(bb.treeProps);

    datas.dataTree.push(clonData);
  });
});

//部门
const treeProps = reactive({
  value: "id",
  label: "name",
  children: "children",
});

//自定义键名
const normalizer = (dataTree: any) => {
  if (dataTree.children && !dataTree.children.length) {
    delete dataTree.children;
  }
  return {
    treeProps: {
      value: dataTree.id,
      label: dataTree.name,
      children: dataTree.children,
    },
  };
};
 
//节点点击事件
const handleNodeClick = (data: any) => {
  //console.log("节点点击事件", data);
  datas.Departmentname = data.name;
  datas.Departmentid = data.id;
};
 
const datas = reactive({
  Departmentid: undefined, //部门ID(必填)
  dataTree: [] as any[],
});
posted @   双手插在裤兜谁也不爱  阅读(783)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示