記錄Vue Antd 表格RowSelection重新整理列表後快取問題

圆&圈&圈發表於2024-11-28

起因

原來的程式碼

     //tsx部分
<BaseTable options={tableData.options} columns={tableData.columns} data={tableData.data}/>
const selectKeys = ref<string[]>([]) // 表格配置 const handleRowSelection = { onChange: (selectedRowKeys: string[], selectedRows: ISeatItemData[]) => { selectKeys.value = selectedRowKeys }, }

  頁面上有個設為班長按鈕,在勾選了某條資料後,點選呼叫了介面,重新整理了當前列表,這條勾選的資料還在,原因是這條資料主鍵key值還在,手動在列表中設 selectKeys.value = [] 只能改變資料為空,介面依舊會展示選中狀態,怎麼改呢?檢視了antd table文件,因為是第一次用antd +tsx寫專案,而且我這個table元件封裝了一層,找到了 rowSelection 方法簡介,這裡貼個連結 rowSelection

const selectKeys  = ref<string[]>([])
const handleRowSelection = {
      selectedRowKeys:selectKeys,  // 這裡很關鍵
      onChange: (selectedRowKeys: string[], selectedRows: ISeatItemData[]) => {
        selectKeys.value = selectedRowKeys
      },
    }

  selectedRowKeys取定義好的selectKeys,注意(VUE3的)不要帶 .value

然後在重新整理列表的介面給它selectKeys.value = [] 就解決問題了

簡單記錄下,就這樣子。

相關文章