J'ai implémenté une table en utilisant React Table (https://react-table.js.org). Je peuple les données basées sur les données que je reçois du serveur. À l'heure actuelle, j'ai deux filtres déroulants sur deux colonnes. Je veux désactiver la liste déroulante du filtre de la colonne 2 si la liste déroulante du filtre de la colonne 1 est définie sur une valeur spécifique. Comment désactiver le menu déroulant lorsqu'une option spécifique est sélectionnée dans React?
J'ai mis en œuvre dans le menu déroulant du filtre de base comme suit:
{
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>
),
},
],
Si je sélectionne dans Groupe1 la première liste déroulante, le second menu déroulant doit être activé. Toutefois, si la première liste déroulante est définie sur Tous, la liste déroulante 2 doit être désactivée. Comment mettre en œuvre ce qui précède?