0
私は、反応テーブル(https://react-table.js.org)を使ってテーブルを実装しました。私はサーバーから取得したデータに基づいてデータを作成します。今は2つの列の上に2つのフィルタードロップダウンがあります。列1のフィルターのドロップダウンが特定の値に設定されている場合は、列2のフィルターのドロップダウンを無効にします。 React?で特定のオプションが選択されているときにドロップダウンを無効にする方法
次のように私は、基本フィルタドロップダウンを実現しています
{
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';
}
},
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>
</select>
),
},
{
filterable: ({ val }) => {
if (tenantName.value === 'group1') {
return true;
}
else {
return false;
}
},
Header: 'ID',
accessor: 'Id',
id: 'Id',
Cell: ({ value }) => (value === '3' ? '3' : '5'),
filterMethod: (filter, row) => {
if (filter.value === 'all') {
return true;
}
if (filter.value === '3') {
return row[filter.id] === '3';
}
if (filter.value === '5') {
return row[filter.id] === '5';
}
},
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="3">3</option>
<option value="5">5</option>
</select>
),
},
],
私は最初のドロップダウンでグループ1を選択した場合は、2番目のドロップダウンを有効にする必要があります。ただし、最初のドロップダウンがすべてに設定されている場合は、ドロップダウン2を無効にする必要があります。 上記の実装方法は?