315 Star 3K Fork 549

Layui Vue / layui-vue

 / 详情

tree树形属性问题

待办的
创建于  
2023-10-16 18:38

议题条件

  • 我确认已查阅:http://layui-vue.com ,但没有找到相关解决方案。
  • 我确认已在 Issues 中搜索过类似的问题,但没有找到相关解决方案。

版本号

2.9.1

浏览器

108.0.5359.215

问题类型

功能困惑

问题描述

在源代码里查看到有prop-replaceFields 属性,但是 使用却不生效,是未对此处理吗?

业务代码

    <lay-tree :data="dataList" :replaceFields="{id: 'pk', title: 'label', children: 'children'}"
              v-model:selectedKey="selectedKey" @node-click="handleClick">
    </lay-tree>

截图补充

演示地址

友好承诺

  • 我承诺将本着相互尊重、理解和友善的态度进行交流,维护 layui-vue 良好的社区氛围。

评论 (5)

Mr_Li 创建了任务

发现只要在 package/component/src/component/tree/useTree.ts 中更改代码如下,可以解决这个问题

  const tree = new Tree(
    {
      nodeMap: new Map(),
      originMap: new Map(),
      replaceFields: props.replaceFields ?? {
        id: "id",
        title: "title",
        children: "children",
      },
      showCheckbox: props.showCheckbox ?? false,
      checkedKeys: props.checkedKeys ?? [],
      expandKeys: props.expandKeys ?? [],
      checkStrictly: props.checkStrictly ?? false,
    },
    props.data
  );

其中 原
replaceFields:{ id: "id", title: "title", children: "children", }
更改为

   replaceFields: props.replaceFields ?? {
        id: "id",
        title: "title",
        children: "children",
      },

这个属性只是声明,没有真正暴漏出来给用户,你是说这样调整之后,可以实现这个功能吗

我这样调整后,在dev模式下,demo是可以了,打包后失效,应该有暴露出来,因为 id,title 并不是每个人都是这样的

可以自行转换一下,后续的版本中会跟进 replaceFields 的特性

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(2)
1269887 web work admin 1653556172 4835367 jmysy 1578975358
TypeScript
1
https://gitee.com/layui-vue/layui-vue.git
git@gitee.com:layui-vue/layui-vue.git
layui-vue
layui-vue
layui-vue

搜索帮助

Bbcd6f05 5694891 0cc6727d 5694891