Estoy tratando de implementar funciones de búsqueda y reinicio en la tabla Antd. La función reset(clearAll) no devuelve la tabla a su estado inicial cuando se hace clic. El código de búsqueda bloquea los registros de estos errores en la consola === >
TS2322: Type 'any[]' is not assignable to type 'undefined'. 280 | }; 281 | const globalSearch = () => { > 282 | filteredValue = modifiedData.filter(value => { | ^^^^^^^^^^^^^ 283 | return ( 284 | value.name.toLowerCase().includes(searchText.toLowerCase()) ||Y
TS2339: Property 'length' does not exist on type 'never'. 319 | }} 320 | columns={mergedColumns} > 321 | dataSource={filteredValue && filteredValue.length ? filteredValue : modifiedData} | ^^^^^^estos son los codigos
const [sortedInfo, setSortedInfo] = useState({}); const [searchText, setSearchText] = useState(''); let [filteredValue] = useState();Bloque de código para restablecer la tabla
const clearAll = () => { setSortedInfo({}); ===> coming from the sorted Values setSearchText(''); loadData(); ====> Data from the API loads when useEffect is called };Bloque de código para búsqueda
const handleSearch = e => { setSearchText(e.target.value); if (e.target.value === '') { loadData(); } }; const globalSearch = () => { filteredValue = modifiedData.filter(value => { return ( value.name.toLowerCase().includes(searchText.toLowerCase()) || value.tankThreatLevelColor.toLowerCase().includes(searchText.toLowerCase()) ); }); setGridData(filteredValue); };en el jsx
<Space style={{ marginBottom: 16 }}> <Input placeholder="Enter Search Text" onChange={handleSearch} type="text" allowClear value={searchText} /> <Button type="primary" onClick={globalSearch}> Search </Button> <Button onClick={clearAll}>Reset Table</Button> </Space> <Table components={{ body: { cell: EditableCell, }, }} columns={mergedColumns} dataSource={filteredValue && filteredValue.length ? filteredValue : modifiedData} bordered />Mucha gratitud en anticipación 🙏🏾
Actualice su globalSearch() con el siguiente código.
reemplazar
value.tankThreatLevelColor.toLowerCase().includes(searchText.toLowerCase())
con
value.username.toLowerCase().includes(searchText.toLowerCase())
ya que no hay una columna con el nombre tankThreatLevelColor
Actualice su globalSearch() con el siguiente código.
const globalSearch = () => { filteredValue = modifiedData.filter((value) => { return ( value.name.toLowerCase().includes(searchText.toLowerCase()) || value.username.toLowerCase().includes(searchText.toLowerCase()) ); }); setGridData(filteredValue); };Resultado de búsqueda por nombre:
Resultado de la búsqueda por nombre de usuario: