Способ определения флажка отмечен в реакции (useState) - PullRequest
0 голосов
/ 29 мая 2019

Это мой первый раз, чтобы разработать приложение реагировать.Я попытался установить флажки в каждой строке таблицы и проверить, какая из строк выбрана.

Я использовал useState ловушку для создания событий selected и onChange, но, кажется, значения не обновляются, когда я проверяю затемснимите флажок.

Я хотел бы спросить, как добавить логику для удаления не отмеченных значений на крючках.

T1 Флажок A- Флажок установлен флажок B- Флажок проверенMap-A, B

T2 Флажок B- Не отмечен CheckedMap- A, B // Не отмечен Флажок B также хранится в CheckedMap

Спасибо за вашу помощь.

export default function({ infinite }) {
  const [checkedMap, setCheckedMap] = useState(new Map());
}

const handleCheckedChange = transaction_seq => {
    let modifiedMap = checkedMap;
    modifiedMap.set(transaction_seq, !checkedMap.get(transaction_seq));
    setCheckedMap(modifiedMap);
  };

const columns = [
    {
      Header: "Transaction(s)",
      className: "left",
      columns: [
        {
          id: "checkbox",
          accessor: "checkbox",
          Cell: ({ row }) => {
            return (
              <input
                type="checkbox"
                className="checkbox"
                checked={checkedMap.get(row.original.transaction_seq)}
                onChange={() =>
                  handleCheckedChange(row.original.transaction_seq)
                }

1 Ответ

0 голосов
/ 29 мая 2019

Вы можете проверить статус проверки на карте, а затем решить, следует ли установить значение или удалить его

const handleCheckedChange = transaction_seq => {
    let modifiedMap = checkedMap;
    if(checkedMap.get(transaction_seq)) {
        modifiedMap.delete(transaction_seq)
    } else {
        modifiedMap.set(transaction_seq, true);
    }
    setCheckedMap(modifiedMap);
  };
...