Element el-table树形数据 tree-props使用注意事项

el-table树形数据 tree-props使用注意事项

项目场景:

项目场景:使用el-table树形数据

在这里插入图片描述

问题描述:

根据element官网提示设置tree-props{children: 'children',hasChildren: 'hasChildren'}data数据也设置了childrenhasChildren属性,row-key也绑定了数据的唯一值变量id,但是树形结构就是出不来
在这里插入图片描述
在这里插入图片描述


# 原因分析:

找了很久的问题原因,发现是因为设置tree-props{children: 'children',hasChildren: 'hasChildren'},就误以为需要childrenhasChildren两个属性,因此同时给数据设置了childrenhasChildren属性,导致树形结构出不来


解决方案:

  • data绑定的数据需要保留children属性,注意childrenhasChildren属性不能同时存在
<template>
<div>
  <el-table
    :data="tableData"
    style="width: 100%;margin-bottom: 20px;"
    row-key="id"
    border
    default-expand-all
    :tree-props="{children: 'children',hasChildren: 'hasChildren'}">
   <el-table-column prop="id" label="11" > </el-table-column>
    <el-table-column prop="name" label="22"></el-table-column>
    <el-table-column prop="planQuantity"  label="33"></el-table-column>
  </el-table>
</div>
</template>
<script>
export default {
    data() {
      return {
			 tableData: [
        {
          id: 523,
          name: '我是一级',
          planQuantity: 50,
          children: [
            {
              id: 527,
              name: '我是二级',
              planQuantity: 20,
              children:null
            }
          ],
        }
       ]
		}
    }
}
</script>

效果图:
在这里插入图片描述

写在最后

该文章主要记录遇到的问题及解决办法,避免忘记,若有不足之处或其他解决办法欢迎指教

  • 20
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
回答: 要在el-table中实现树形结构加单选功能,可以按照以下步骤进行操作。首先,需要在el-table中设置tree-props属性为{children: 'children', hasChildren: 'hasChildren'},并确保数据中的每个节点都有children和hasChildren属性。其次,需要为el-table添加row-key属性,并将其绑定到数据的唯一值变量id上。接下来,可以使用toggleRowSelection方法来实现单选功能。具体实现方式如下:\[1\]\[2\]\[3\] ```html <el-table :data="tableData" :tree-props="{children: 'children', hasChildren: 'hasChildren'}" :row-key="id"> <el-table-column type="selection"></el-table-column> <!-- 其他列 --> </el-table> ``` ```javascript methods: { handleExpand() { this.isExpand = !this.isExpand; this.$nextTick(() => { this.forArr(this.tableData, this.isExpand); }); }, forArr(arr, isExpand) { arr.forEach(i => { this.$refs.tableData.toggleRowExpansion(i, isExpand); if (i.children) { this.forArr(i.children, isExpand); } }); } } ``` 这样,就可以在el-table中实现树形结构加单选功能了。 #### 引用[.reference_title] - *1* *2* [elementUIel-table树形el-tree树形结构的一键折叠与展开](https://blog.csdn.net/qq_34917408/article/details/106839908)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Element el-table树形数据 tree-props使用注意事项](https://blog.csdn.net/m0_67402731/article/details/123344895)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值