复选框按钮,则应勾选所有其他复选框,如果所有复选框均已勾选,并且我删除勾选,则完整复选框取消勾选

问题描述 投票:0回答:1

如果我单击完整复选框按钮,则应勾选所有其他复选框,如果所有复选框均已勾选,并且我删除勾选,则取消勾选完整复选框,同时取消勾选该复选框。帮助解决。我正在使用kendo反应代码。

如果我单击完整复选框按钮,则应勾选所有其他复选框,如果所有复选框均已勾选,并且我删除勾选,则取消勾选完整复选框,同时取消勾选该复选框。帮助解决。我正在使用kendo反应代码。我正在使用 componenat 作为复选框。

reactjs validation checkbox kendo-ui
1个回答
0
投票

答案取决于您的实现,但一般函数可以编写如下:-

const handleSelectAllCheckboxChange = (e) => {
    const isChecked = e.target.checked;
    setIsSelectAll(isChecked);
    if(isChecked) { 
     setSelectedArr(list)
    } else {
     setSelectedArr([])
    }
  };

const handleCheckboxChange = (listIndex, e) => {
    const elemInd = selectedArr.findIndex((item) => item === list[listIndex]);
    if(elemInd === -1) {
      setSelectedArr([...selectedArr, list[listIndex]]);
      if(selectedArr.length === list.length - 1) {
        setIsSelectAll(true)
      }
    } else {
      setSelectedArr(selectedArr.splice(elemInd, 1));
       setIsSelectAll(false)
    }
  };
© www.soinside.com 2019 - 2024. All rights reserved.