组件Table里操作是跳转到另一页面
- 应用场景:考试信息一栏里操作栏有“进入考试”按钮,点击进入具体的考试页,需要把examId传入
- 代码:
// column里操作栏代码
{
title: '操作',
key: 'action',
dataIndex: 'examId',
render: (_: number, record: { examId: number }) => (
<Button
type={'link'}
onClick={() => {
navigate(`${prefix}promise/${record.examId}`)}}>
进入考试
</Space>
),
},
- 理解:
参考:Table组件用法:
Table组件Column的API
其中,
- dataIndex:列数据在数据项中对应的路径,支持通过数组查询嵌套路径
我的理解:我们render需要用到的参数,与key设置成action不冲突。之前没有设置dataIndex以为是key发挥作用,但阅读API才发现dataIndex内涵才是我们需要的数据,而key: React需要的key,如果已经设置了唯一的 dataIndex,可以忽略这个属性。 - render:生成复杂数据的渲染函数,参数分别为当前行的值,当前行数据,行索引,
我的理解:用法中text可以用’_'代替,表示当前这里传入的值,比如上述的examId,record当前行的数据,我们需要的只有examId,所以类型里只把Id:number加上,index用不上可不写。所以在这个函数里navigate跳转只需把record.examId传入即可。function(text, record, index) {}