antd table动态控制指定列的显隐

应用场景

博主刚刚在敲代码的时候,遇到了这样一个需求:列表中有A,B,C三列,如果B没有数据的时候,将B隐藏。什么鬼😸,博主使用的是antd3.0版本,用的最基础的Table插件。

解决方案

在column中动态添加B列,拿到数据以后,判断列表中B是否有数据,没数据不作处理,有数据动态添加B列属性到column中。
上代码!!!

// 先将含有A,C的column写好
column = [
        {
            title: '商品名1',
            dataIndex: 'A',
            key: 'A',
            width: 180,
        },
        {
            title: '商品名3',
            dataIndex: 'C',
            key: 'C',
            width: 150,
        }
 ]
 
 //在接口返回的数据中判断,如果B属性存在,就添加B列
if(data.length > 0 && data[0].B){
// 用splice方法,把B元素插入到指定位置
     this.column.splice(1, 0,{
          title: '商品名2',
          dataIndex: 'B',
          key: 'B',
      });
  }
  // 数据处理完以后setState一下,页面要重新渲染
  this.setState({    
    data: data
  })

这样既有ok了,博主已经成功解决,开始抖脚了。

  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
antd table 动态是指在使用antdtable组件时,可以动态地添加、删除、合并。根据提供的代码,可以看出以下几点关于antd table动态的实现: 1. 使用customCell方法进行合并:如果定义的表中需要合并的使用了slots插槽属性,那么使用customRender方法进行合并是没有效果的,需要使用customCell方法。 2. 数据情况:根据提供的示例,数据是一个数组,数组中包含各个table表数据,每个table表数据是一个对象。每个table对象数据中,需要table展示的数据在三级子目录中。 3. 添加核心代码:通过addColspan方法可以添加。该方法会在指定位置插入一个新的,并更新columns、data和id等相关状态。 4. 删除核心代码:通过deleteColspan方法可以删除。该方法会删除指定位置的,并更新columns状态。 综上所述,以上代码提供了实现antd table动态的核心逻辑。您可以根据需要使用这些方法来实现动态的功能。 #### 引用[.reference_title] - *1* [ant-design中对单个或多个table表数据进行动态合并](https://blog.csdn.net/Yukinoshita_kino/article/details/124843940)[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_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [React+antd实现table动态添加删除](https://blog.csdn.net/chen_ac/article/details/128004176)[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_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值