【antd】table数据跟着行走,且实现列的展示

文章描述了一个React应用中处理表格数据的场景。通过对bData的计算,根据a数据过滤并关联id,当行内数据有重复时显示【!】,无重复显示【】,存在数据则显示【√】。实现中使用了数组的filter和includes方法以及条件渲染。

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

要求 b是table数据,要使a对应显示在table中,如果一行有重复数据则显示【!】,若行数据没有则为【】,若有数据显示【√】

在这里插入图片描述

此时黑色框中的√应该是【!】

在这里插入图片描述

实现

 const bData = useMemo(() => {
    const list = b;
    list?.forEach(item => {
      item.idNameList = a?.filter(element => element.idList.includes(item.id)).map(element => element.name) || [];
    });
    return list;
  }, [a, b]);

//table中的render
  render: (_: any, record: any) => {
            const len = record.idNameList && record.idNameList.length;
            if ((record.children && record.children.length > 0)) return <></>;
            if (!record.idNameList.includes(item.name)) return <></>;
            return (<div style={{textAlign: "center"}}>
              {
                len >= 2 ?
                  <ExclamationCircleFilled style={{color: "#F5222D"}}/> :
                  <CheckCircleFilled style={{color: "#52C41A"}}/>
              }
            </div>);
          }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值