亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

單擊標題復選框時重置 antd 表行選擇

單擊標題復選框時重置 antd 表行選擇

紅糖糍粑 2023-05-11 16:20:56
所以我有一個用選擇/取消選擇所有復選框選項實現的 antd 表。如果用戶只選擇了幾個復選框,然后在單擊標題處的復選框時,我想做什么,應該重置選定的復選框。當前行為是選擇所有復選框(行)。以下是我的rowSelection代碼const rowSelection = {    onSelectAll: (selected: any, selectedRows: any, changeRows: any) => {      if(selectedRows.length !== 15){        console.log("reset checkboxes");      }    },    onChange: (selectedRowKeys: any, selectedRows: any) => {      setSelectedRows(selectedRows);    },    getCheckboxProps: (record: any) => ({      disabled: record.name === "Disabled User",      name: record.name,    }),  };
查看完整描述

1 回答

?
慕容森

TA貢獻1853條經驗 獲得超18個贊

一種解決方案是使選定的行受控。


const [selectedRowKeys, setSelectedRowKeys] = useState([]);


const rowSelection = {

    selectedRowKeys: selectedRowKeys,

    onSelectAll: (selected, selectedRows, changeRows) => {

      if (selectedRowKeys.length !== 0) {

        setSelectedRowKeys([]);

      }

    },

    onChange: (selectedRowKeys, selectedRows) => {

      setSelectedRowKeys(selectedRowKeys);

    }

};

當您單擊行上的復選框時,該onChange函數將執行并設置選定的行鍵。當您單擊標題處的復選框時,該onChange函數將再次執行并設置所有行鍵,然后onSelectAll(注意 setState ononChange不會立即生效)如果有多個選定行(on state),則重置所有選定的行鍵).


查看完整回答
反對 回復 2023-05-11
  • 1 回答
  • 0 關注
  • 203 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號