开发者社区> 问答> 正文

宜搭表格编辑是否支持树形的下级行编辑?

宜搭支持树形的表格,表格数据有层级结构,在展示时没有问题,可以按层级进行展示,但在编辑时,只有第一级可以编辑,除第一级外的下级行都不能编辑,跟踪代码发现查找行数据时只从表格的数组第一级中查找,其children数据不进行查找,所以一级以下的行不能编辑。请问宜搭的表格不支持多级的编辑吗?还是我使用的方法不对? QQ截图20230310165250.png

展开
收起
1013831475225378 2023-03-10 16:57:56 772 0
来自:钉钉宜搭
6 条回答
写回答
取消 提交回答
  • 全栈JAVA领域创作者

    根据您的描述,宜搭表格组件默认只支持一级编辑,这是因为在表格的数据结构中,子节点的数据并没有被直接存储在表格数据数组中,而是通过 children 属性引用了另一个数据数组。因此,需要进行额外的处理才能支持多级编辑。

    以下是一种实现多级编辑的方法:

    首先,在表格组件上添加 row-editable 属性,并设置为 true,开启行编辑功能。

    在表格的 :row-key 属性中使用一个唯一标识符,可以选择使用每个节点的 ID 作为标识符。

    将表格数据转换为带有层级关系的树形数据结构,例如使用递归算法将数据数组转换为多层嵌套的对象结构,其中每个节点都有一个 children 属性引用其子节点的数据数组。

    function toTreeData(data) { const tree = [] const map = {} data.forEach(item => { map[item.id] = item item.children = [] }) data.forEach(item => { if (item.parentId) { const parent = map[item.parentId] if (parent) { parent.children.push(item) } } else { tree.push(item) } }) return tree } 在表格的 :data 属性中使用转换后的树形数据结构。

    添加一个自定义的单元格渲染函数,在该函数中判断当前单元格对应的行是否处于编辑状态,如果是,则返回一个可编辑的表单控件,否则返回普通文本。

    {{ row.name }}

    ...

    methods: { isEditing(row) { return this.editingRows.has(this.getRowKey(row)) }, getRowKey(row) { // 使用每个节点的 ID 作为标识符 return row.id }, handleEdit(row) { this.editingRows.add(this.getRowKey(row)) }, handleSave(row) { this.editingRows.delete(this.getRowKey(row)) } } 添加事件监听器,当用户点击某个单元格时,检查该单元格对应的行是否处于编辑状态,如果不是,则将该行标记为编辑状态。 <el-button v-if="!isEditing(row)" @click="handleEdit(row)">编辑 <el-button v-else @click="handleSave(row)">保存

    ...

    data() { return { treeData: [], editingRows: new Set() } }, mounted() { // 初始化表格数据 const data = [ { id: '1', name: '节点 1' }, { id: '2', name: '节点 2', parentId: '1' }, { id: '3', name: '节点 3', parentId: '1' }, { id: '4', name: '节点 4', parentId: '2' }, { id: '5', name: '节点 5', parentId: '2' } ] this.treeData = toTreeData(data) }, 通过以上方法,可以使宜搭表格组件支持多级编辑。

    2023-03-13 16:12:18
    赞同 展开评论 打赏
  • 宜搭的表格组件可以支持多级表格的编辑,但需要在代码中进行相应的处理。可以使用递归函数来处理多级表格数据的编辑

    2023-03-12 11:14:23
    赞同 展开评论 打赏
  • 天下风云出我辈,一入江湖岁月催,皇图霸业谈笑中,不胜人生一场醉。

    支持,注意:开启「树形表格」后,数据中需要包含 children 字段才会显示树形表格。

    2023-03-11 23:41:01
    赞同 展开评论 打赏
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    你好,宜搭表格编辑肯定是支持树形下级行编辑的,可以去控件使用的界面看看:https://developers.aliwork.com/docs/components/advanced/tree/

    2023-03-11 19:25:00
    赞同 展开评论 打赏
  • 十年摸盘键,代码未曾试。 今日码示君,谁有上云事。

    在表格中开启「树形表格」,注意:开启「树形表格」后,数据中需要包含 children 字段才会显示树形表格。 树形的下级行编辑需要用代码来实现,宜搭默认功能目前还不行。

    代码参考:

    image.png

    2023-03-11 07:58:44
    赞同 1 展开评论 打赏
  • 月移花影,暗香浮动

    宜搭表格编辑器支持树形的下级行编辑。在宜搭表格编辑器中,在某一行添加下级行时,会在当前行的右侧出现一个箭头,点击箭头即可展开下级行,下级行可以像普通行一样进行编辑、删除、复制等操作。同时,下级行也可以增加下级行,形成多级的树形结构。这种树形的下级行编辑功能非常适合需要呈现层级信息的数据表格,例如部门人员管理、商品分类等。

    2023-03-10 16:59:27
    赞同 展开评论 打赏
滑动查看更多
问答分类:
问答地址:
关联地址:
相关产品:
来源圈子
更多
收录在圈子:
+ 订阅
「宜搭」是云钉原生低代码平台(钉钉 PaaS - aPaaS),让企业应用搭建更简单! 帮助中小企业降本提效,加强组织的数字化自主权; 帮助大型企业释放个体创新力,助力组织创新涌现。
相关文档: 宜搭
问答排行榜
最热
最新

相关电子书

更多
宜搭 - 企业智能化应用搭建平台 立即下载
《云市场-宜搭解决方案》 立即下载
《宜搭开发手册》 立即下载