ant design table render问题

官方文档对于render的解释为:

在这里插入图片描述

text表示当前行的值,record表示当前行的数据

如果进行简单的三目运算判断,结构题很好写

{
    title: '标题',
    // dataIndex: 'status',
    key: 'status',
    render:(text,record) =>
        (
            record.status==='NORMAL'
            ?
            <span>执行中</span>
            :
            <span>暂停中</span>
        )
}

但是判断条件多于两个时,就要用switch语句来实现,但是格式细节有很多需要注意的地方

            {
                title: '标题',
                // dataIndex: 'status',
                key: 'status',
                render:(text,record) =>
                //此处为大括号{,不是小括号(
                {
                    switch (record.status){
                        case "NORMAL":
                        //此处标签的开头要在return后方写,换行会导致unreachable code
                        return <span>执行中</span>
                        //不用break打断了
                        case "NONE":
                        return <span>空</span>
                        case "BLOCKED":
                        return <span>阻塞</span>
                        //default一定要写
                        default:
                        return null;
                    }
                }
            },

总结,render:(text,record)=>此处不是小括号,而是大括号{,最重要,retrun的标签头一定是紧跟return后方,不要换行,否则会报unreachable code,return后不写break;打断,default别忘了写。

希望能帮助到遇到问题的兄弟,有问题可以留言或者有改进的可以私信我,谢谢!

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在使用 Ant DesignTable 组件进行合并单元格操作后,会出现分页的问题。这是因为 Table 组件在合并单元格时,对于被合并的单元格只会显示一个单元格内容,但是在分页时,每一页都是按照原始的数据进行分页的,因此会出现某些行被分到不同的页的情况。 解决这个问题的方法是使用 `rowSpan` 和 `colSpan` 属性,而不是合并单元格。具体地,可以在需要合并的单元格上设置 `rowSpan` 或 `colSpan` 属性,这样单元格会占用多行或多列,但是在 Table 组件内仍然算作多个单元格。这样在分页时,每一页都会按照实际的单元格数进行分页,不会出现某些行被分到不同的页的情况。 示例代码如下: ```jsx <Table dataSource={dataSource} pagination={pagination} rowKey="id"> <Column title="Name" dataIndex="name" key="name" /> <Column title="Age" dataIndex="age" key="age" /> <Column title="Address" dataIndex="address" key="address" render={(text, record, index) => { if (index === 0) { return { children: text, props: { rowSpan: 2, // 合并两行单元格 }, }; } if (index === 1) { return null; // 第二行单元格被合并,不需要渲染 } return { children: text, }; }} /> </Table> ``` 在上面的代码中,第三列的单元格需要合并前两行,因此在 `render` 函数中判断行索引,对第一行渲染单元格内容,并设置 `rowSpan` 属性为 2,对第二行返回 `null`,表示该行单元格被合并,不需要渲染。对于其他行,直接渲染单元格内容。这样在分页时,每一页都会按照实际的单元格数进行分页,不会出现某些行被分到不同的页的情况。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值