import React, { useEffect, useState } from 'react' import { Table, TableColumnSelectFilterValue } from 'react-icecream' import originalRecords, { Record } from './shared-records' export default function Demo() { const [records, setRecords] = useState(originalRecords) const [loading, setLoading] = useState(false) const [filterValue, setFilterValue] = useState([]) useEffect(() => { const request = new Promise(resolve => setTimeout(() => { if (filterValue.length === 0) { resolve(originalRecords) return } resolve(originalRecords.filter(record => filterValue.indexOf(record.type) > -1)) }, 1000)) setLoading(true) request.then(filteredRecords => { setLoading(false) setRecords(filteredRecords as Record[]) }) }, [filterValue]) return ( records={records} loading={loading}> idx + 1} /> ) }