1

尝试NumberRangeColumnFilter在特定列的表之外实现 , 。基本上使用globalFilter。

我将SelectColumnFilterfrom 示例转换为下表之外的全局选择过滤器,如下所示。

function GlobalSelectFilter({
    preGlobalFilteredRows,
    globalFilter,
    setGlobalFilter,
}) {
    const [value] = React.useState(globalFilter)
    const options = React.useMemo(() => {
        const options = new Set()
        preGlobalFilteredRows.forEach(row => {
            options.add(row.values['priority'])
        })
        return [...options.values()]
    }, ['priority', preGlobalFilteredRows])

    return (
        <span>
            <select
                value={value}
                onChange={e => {
                    setGlobalFilter((e.target.value == 'All' ? undefined : e.target.value) || undefined)
                }}
            >
                <option value="">All</option>
                {options.map((option: any, i) => (
                    <option key={i} value={option}>
                        {option}
                    </option>
                ))}
            </select>
        </span>
    )
}

但是,当我尝试将NumberRangeColumnFilter示例用于 aGlobal NumberRangeColumnFilter时,globalFilter不会采用类似的数组filterValue = []

我的方法完全错误吗?如何为 globalFiltering 实现这个最小最大范围的事情。一个例子真的很有帮助。还尝试通过日期范围过滤来做到这一点。

4

0 回答 0