要求 b是table数据,要使a对应显示在table中,如果一行有重复数据则显示【!】,若行数据没有则为【】,若有数据显示【√】
![在这里插入图片描述](https://img-blog.csdnimg.cn/222d5c2a2e124f3ca1ae7f53b7fed352.png)
此时黑色框中的√应该是【!】
![在这里插入图片描述](https://img-blog.csdnimg.cn/206fc82a05054f3ab43caf1369f54240.png)
实现
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>);
}