Ant Design of Vue 表格数据 重复渲染

本文介绍了在使用AntDesignofVue框架时遇到表格数据重复渲染的问题及其解决方法。关键在于通过控制`expandedRowKeys`数组来管理展开的行,确保每次只加载对应索引的数据,并使用`Array.from(new Set())`进行数组去重,避免数据污染。点击展开图标时更新`expandedRowKeys`并清空`innerData`,然后根据需要加载新的数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Ant Design of Vue 表格数据 重复渲染

初次使用Ant Design of Vue 框架遇到表格数据重复渲染的解决办法
重要的都标注了
就是这样的表格
在这里插入图片描述

// 组件
<a-table
	:columns="columns"
	:data-source="mainDatas"
	class="components-table-demo-nested"
	bordered
	:pagination="pagination"
	@expand="clickExpand"  // 展开图标触发
	:expandedRowKeys="expandedRowKeys"   // 展开的行控制属性
	>
	<a-table
	  slot="expandedRowRender"
	  :columns="innerColumns"
	  :data-source="innerData"
	  :pagination="false"
	>
	</a-table>
</a-table>
// data
data() {
	return{
	  expandedRowKeys: [],
      mainDatas: [],
      innerData: [],
      }
   }
 // methods
 clickExpand(expanded, record) {
 // 点击展开图标时触发的函数
 
      if (expanded) {
        // 解决框架表格数据受污染
        this.expandedRowKeys = []
        this.expandedRowKeys.push(record.key)  // 加入当前展开的索引值
      } else {
        this.expandedRowKeys = []
      }

      this.innerData = []
      requestData({ }).then((res) => {
      // 获取请求数据
        let data = res
        data.forEach((e, i) => {
          this.innerData.push({
            key: i,
          })
        this.innerData =  Array.from(new Set(this.innerData)) // 数组去重
        })
      })
    },
  1. 其实本质就是控制expandedRowKeys这个数组里面的加的索引值,有哪个索引值就展开哪个,多个就展开多个。
  2. 自己总结的一些方法,欢迎指出不足,初用该框架,避坑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值