javascript - 我可以访问由 Ant Design Table 生成的分页组件的道具或状态吗?
问题描述
我的代码中有一个 Ant 设计表,我向它传递了一个分页道具,如下所示:
<Table
dataSource={alerts}
pagination={{
pageSize: 9,
position: 'bottomLeft',
showSizeChanger: false
}}
columns={columns}
/>
在我的 React 组件树中,我可以看到一个Pagination
组件,它同时具有我想要访问的 aprops
和state
值current
(告诉您/设置您所在的当前页面),因此我可以保存它并传递它。
但是,我不知道如何访问这个值,因为我的Pagination
React 代码中实际上没有组件,该Pagination
组件只是由组件中的pagination
prop生成的Table
。是否有可能以某种方式访问该值?
解决方案
您无法从表格/分页上方的组件访问分页道具和状态。这与 React 的工作方式背道而驰,因为这里的数据只在一个方向流动。从顶部组件到底部组件。
但是,有一种方法,您需要的分页属性可以通过分页事件处理程序返回。因此,您可以将它们以状态保存在使用 Antd Table 的组件中。
在下面的代码中,我使用了 Table 组件提供的 API。onChange
并返回实际的onShowSizeChange
分页状态值,然后我将其保存到该状态。我在这里指的是分页组件的文档。
const dataSource = [{
key: '1',
name: 'Mike',
age: 32,
address: '10 Downing Street',
},
{
key: '2',
name: 'John',
age: 42,
address: '10 Downing Street',
},
];
const columns = [{
title: 'Name',
dataIndex: 'name',
key: 'name',
},
{
title: 'Age',
dataIndex: 'age',
key: 'age',
},
{
title: 'Address',
dataIndex: 'address',
key: 'address',
},
];
class App extends React.Component {
state = {
currentPageSize: 1,
currentPage: 1,
}
onPageChange = (page: number, pageSize ? : number) => {
this.setState({
currentPage: page,
currentPageSize: pageSize
});
}
onPageSizeChange = (page: number, pageSize: number) => {
this.setState({
currentPage: page,
currentPageSize: pageSize
});
}
render() {
return ( < Table dataSource = {
dataSource
}
pagination = {
{
pageSize: this.state.currentPageSize,
current: this.state.currentPage,
onChange: this.onPageChange,
onShowSizeChange: this.onPageSizeChange
}
}
columns = {
columns
}
/>);
}
}
render( < App / > , document.getElementById("root"));
推荐阅读
- c# - 将表与桥表连接并从主表中获取数据,如果数据存在于桥表中,则也获取它
- xslt - 将 XML 中的单个值复制到其他 XML 中的两个不同位置
- python - 从 python 发送原始电子邮件并检索 sendmail queueid
- git - 让 git rebase 打印提交 ID
- google-apps-script - Apps 脚本在不是文件所有者时发布 Web 应用程序
- python-3.6 - 使用 ftplib 将文件发送到 ftp 服务器
- python - 用 pandas 计算每个后续组的 2 行的平均值
- python - 使用下拉菜单将两个不同的数据集绘制成 plotly
- ruby-on-rails - 当开发环境使用 RVM 时,如何在带有 Rbenv 的服务器上部署 Capistrano?
- excel - Excel 提取过滤器单元格