问题描述
我想覆盖材料表的搜索功能,但我很困惑,因为我不知道我将使用什么正确的道具? 数据 ?数据管理器?哪一个?
<MaterialTable
columns={columns}
data={certificates}
components = {{
Toolbar: props => (console.log(props),(<MTabletoolbar {...props}/>
))
}}
/>
我想改变,因为它在前端搜索,但我有一个搜索功能,我想使用它。
解决方法
// Create a state
constructor() {
super();
this.state = {
searchQuery: [],tableQuery: '',}
this.tableRef = React.createRef();
}
/**
* Function to fetch all Data based on search query
* Keep in mind **query** is the default parameter for tableData element. Which returns an array with required search * values.
*/
fetchData(clientId,query) {
query.search = this.state.searchQuery;
this.setState({ tableQuery: query });
return authenticationService.getAllNotifications(clientId,query)
.then((result) => {
const tableData = {
data: result.data.data.records,page: result.config.params.page - 1,totalCount: result.data.data.count,};
return tableData;
});
}
<Table tableData={query => this.fetchData(authenticationService.currentData.source._value.clientId,query)}
columns={this.state.columns}
myRef={(ref) => { this.tableRef = ref; return true; }}
options={{
actionsColumnIndex: -1,pageSize: 10,showTitle: false,isLoading: true,debounceInterval: 500,search: true
}}