Search在MUI-DataTables中不起作用,当Serverese为真时,ReactJ是对的? 我在项目中实现了MUI-DataTait。一切都很好,但是当我启用Serverside时,搜索栏无法正常工作:选项中的true。 const Options = { 过滤器:是的, ...

问题描述 投票:0回答:1
请帮助我

雷德

我提供一些代码,以便在概念上清楚。
我在这里声明一些

states

,以便我们可以将其用于

paging or data loading

const [data, setData] = useState(carStocks); const [page, setPage] = useState(0); const [total, setTotal] = useState(0);
javascript reactjs mui-datatable
1个回答
0
投票
定义您的方法,该方法将调用API并使用

setData

设置数据

function changePage(newTableState) {
    let state = {
        ...tableState, ...newTableState,
        pageNo: newTableState.page + 1,
        pageSize: newTableState.rowsPerPage,
        searchText: newTableState.searchText
    };
    setTableState(state);
    // CALL API with state parameter
    // setData(data);
    // setPage(page);
    // setTotal(total);
}
在这里您声明您的
columns

const columns = [
   {
        name: 'name',
        label: 'Name',
        options: {
            filter: false,
            sort: false,
            viewColumns: true
        }
    },
    {
        name: 'title',
        label: 'TITLE',
        options: {
            filter: false,
            sort: false,
            viewColumns: true
        }
    },
];

在这里您声明您的
options

。在选项中,您必须使用
serverSide: true
,如果使用

serverSide: true

,则必须根据从API中找到的数据大小来绑定计数,页面,rowsperpage。
const options = { serverSide: true, count: total, page: page, rowsPerPage: tableState.pageSize, selectableRows: 'multiple', searchText: tableState.searchText, searchPlaceholder: 'Type Car Title to Search', textLabels: { body: { noMatch: loading ? <CircularProgress color='secondary' size={40} /> : 'SORRY_THERE_IS_NO_MATCHING_DATA_TO_DISPLAY' } }, onTableChange: (action, newTableState) => { switch (action) { case 'changePage': case 'changeRowsPerPage': changePage(newTableState); break; case 'search': changePage(newTableState); break; case 'filterChange': handleFilterSubmit(newTableState.filterList); break; } } };

最终可以使用
data

columns
options
<MUIDataTable data={data} columns={columns} options={options} />

更多详细信息

    

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.