我正在尝试使用 react-bootstrap-typeahead 作为我的 react-data-table-component 的搜索输入,以便有一个自动建议选项。我的问题是如何将所选选项反映到我的 dataTable 中,这样它只会显示所选的特定项目(或分页)。另一个问题是我无法反映filteredItems作为预输入的选项
const [filterText, setFilterText] = React.useState('');
const [resetPaginationToggle, setResetPaginationToggle] = React.useState(
false
);
//Data is passed to filtered items to sort
const filteredItems =
projects &&
projects.filter(
(project) =>
project.name.toString().toLowerCase().includes(filterText) ||
project?.description.toString().toLowerCase().includes(filterText)
);
const [singleSelections, setSingleSelections] = useState([]);
const subHeaderComponentMemo = React.useMemo(() => {
const handleClear = () => {
if (filterText) {
setResetPaginationToggle(!resetPaginationToggle);
setFilterText('');
}
};
let singleSelections = filterText;
return (
<Typeahead
labelKey='name'
onChange={(e) => setSingleSelections(e.target.value)}
onClear={handleClear}
options={filteredItems}
placeholder='Search'
selected={singleSelections}
/>
);
}, [filterText, resetPaginationToggle]);
这是我的数据表:
<DataTable
defaultSortAsc='id'
pagination
paginationResetDefaultPage={resetPaginationToggle}
columns={columns}
subHeader
subHeaderComponent={subHeaderComponentMemo}
persistTableHead
expandableRows
expandOnRowClicked
expandableRowsComponent={<ExpandedComponent data={filteredItems} />}
data={filteredItems}
/>