javascript - 在antd的多列表中制作单独的单列行
问题描述
所以我有一个antd
包含 3 列的常规表格
<Table dataSource={data}>
<Column title="Age" dataIndex="age" key="age" />
<Column title="Address" dataIndex="address" key="address" />
<Column title="Tags" dataIndex="tags" key="tags" />
</Table>
但我想在每 20 个条目之后在表格内以单行形式放置一个广告。有没有办法用antd
表格来实现这一点,或者我应该恢复到data.map
?
解决方案
您需要使用colSpan
.Column
在所需索引上(在示例中为3
),将所有列跨度设置为0
,并将特定条目设置为表长度5
obj.props.colSpan = 0;
props: { colSpan: 5 }
我只是调整了官方的例子。
const renderContent = (value, row, index) => {
const obj = {
children: value,
props: {}
};
if (index === 3) {
// On target every other column is not showing
obj.props.colSpan = 0;
}
return obj;
};
const columns = [
{
title: 'Name',
dataIndex: 'name',
render: (text, row, index) => {
if (index !== 3) {
return <a href="javascript:;">{text}</a>;
}
return {
children: <a href="javascript:;">{text}</a>,
// The target takes all column span
props: {
colSpan: 5
}
};
}
},
{
title: 'Age',
dataIndex: 'age',
render: renderContent
},
...
];
const data = [..]
<Table columns={columns} dataSource={data} bordered />
推荐阅读
- java - 如何在 HTML(Thymeleaf、Spring、Java)中调用方法?
- python - DataFrame 列上的停用词
- reactjs - 呈现为纯文本
- lisp - gensym 在 Lisp 中做了什么?
- python - 当我尝试对信用卡默认数据进行训练测试拆分时出现错误消息
- javascript - 用于处理反应中的 onsubmit 和 onchange 的打字稿
- android - 在模块 ExpoPermissions 上执行导出方法 askAsync 时发生异常:null
- c# - 单个字典或多个字典或任何其他替代方案
- linux - 如何使用通配符 ls 子目录中的所有文件?
- android - ConstraintLayout — 垂直限制视图的顶部