Я реализовал таблицу, используя компонент реагирующей виртуализации таблицы. Я добавил столбец флажка в таблицу и теперь хочу реализовать функцию выбора всех / выбора строки, используя эти флажки.
Теперь, для добавления функции выбора всех / выбора строки, я использую реагирующие хуки для изменения checked
опора CheckBox
но, похоже, не работает. Ниже приведена ссылка на код, и когда я прокручиваю страницу вниз с фактическими данными, флажок проверяется, состояние снято.
Вот код, который я пытаюсь сделать, checked
всегда остается ложным для строк, кроме заголовок Заголовок select all работает нормально
...
import {Checkbox} from 'semantic-ui-react';
const[selectAll, setSelectAll] = useState(false):
const checked = [];
function _checkboxState(data) {
if (checked.includes(data.index)) {
checked.pop(data.index);
} else {
checked.push(data.index);
}
}
<Column
disableSort
dataKey="checkbox"
width={30}
headerRenderer={() => (
<Checkbox
checked={selectAll}
onChange={() => {
if (selectAll === true) {
setSelectAll(false);
} else {
setSelectAll(true);
}
}}
/>
)}
cellRenderer={({rowIndex}) => (
<Checkbox
checked={selectAll || checked.includes(rowIndex)}
onChange={(e, data) => {
_checkboxState(data);
}}
index={rowIndex}
/>
)}
/>
...
- Как сохранить проверки даже после прокрутки таблицы?
- Где я делаю неправильно для проверки отдельных строк?
Любая помощь по этому вопросу приветствуется!