使用React Table來顯示我從API調用接收到的數據。目前我在本地保存狀態,表格顯示數據。我已經爲兩列添加了列值的過濾。我的過濾邏輯如下:如何在React表中實現過濾邏輯?
<ReactTable
data={tableData}
noDataText="Loading.."
filterable
defaultFilterMethod={(filter, row) =>
String(row[filter.id]) === filter.value}
};
}}
columns={[
{
columns: [
{
Header: 'Name',
accessor: 'Name',
id: 'Name',
Cell: ({ value }) => (value === 'group1' ?
'group1' : 'group2'),
filterMethod: (filter, row) => {
if (filter.value === 'all') {
return true;
}
if (filter.value === 'group1') {
return row[filter.id] === 'group1';
}
if (filter.value === 'group2') {
return row[filter.id] === 'group2';
}
},
Filter: ({ filter, onChange }) =>
<select
onChange={event => onChange(event.target.value)}
style={{ width: '100%' }}
value={filter ? filter.value : 'all'}
>
<option value="all">All</option>
<option value="group1">Group1</option>
<option value="group2">Group2</option>
</select>,
},
}
截至目前,過濾規則是硬兩個值之間編碼。如何實現過濾器邏輯以便過濾是動態的?(如果特定列中有3個或7個不同的值,則下拉列表應顯示全部7個值,並且過濾器應基於所選的任何值工作)。由於我使用反應表(https://react-table.js.org)。
@ SeaWarrior404。 。什麼做到這一點「返回行[filter.id] ===‘組2’;」回報,理想的應該返回true或false..I有疑問的天氣真返回布爾或任何價值....請澄清 – MukulSharma
這個問題仍然存在嗎?未解?你似乎已經轉移到其他問題上,但這裏沒有迴應。爲什麼?如果我的缺省回答不,也許工作,你有你自己的答案現在,你可以回答你自己的問題,並接受它:在一定條件下https://stackoverflow.com/help/self-answer – jonahe