antd?vue?表格rowSelection選擇框功能的使用方式
antd vue 表格rowSelection選擇框功能
html部分:
<a-table ? ? ? ? :columns="columns" ? ? ? ? :data-source="showList" ? ? ? ? :row-selection="rowSelection" ? ? ? ? :rowKey="record=>record.id" ? ? ? />
功能部分:
computed: { ? ? rowSelection () { ? ? ? return { ? ? ? // type: 'radio', // 是否為單選 ? ? ? ? selectedRowKeys: this.dataListSelectionKeys, ? ? ? ? onChange: (selectedRowKeys, selectedRows, event) => { ? ? ? ? ??? ?//selectedRowKeys 為你點(diǎn)擊選框時(shí)這一頁(yè)選中的所有key ? ? ? ? ??? ?//selectedRows 為你點(diǎn)擊選框時(shí)這一頁(yè)選中的所有數(shù)據(jù) ? ? ? ? }, ? ? ? ? onSelect: (record, selected, selectedRows, nativeEvent) => { ? ? ? ? ? //record 點(diǎn)擊某一條的所有數(shù)據(jù) ? ? ? ? ? //selected 點(diǎn)擊的一條是否被選中 ? ? ? ? }, ? ? ? ? onSelectAll: (selected, selectedRows, changeRows) => { ? ? ? ? ? //selected 點(diǎn)擊全選是否選中 ? ? ? ? ? //selectedRows 點(diǎn)擊全選判斷所有的選中數(shù)據(jù) ? ? ? ? ? //changeRows 所有改變選中狀態(tài)的數(shù)據(jù) ? ? ? ? }, ? ? ? ? getCheckboxProps: record => ({ ? ? ? ? ? props: { ? ? ? ? ? ? // 全部默認(rèn)禁止選中 ? ? ? ? ? ? // disabled: true, ? ? ? ? ? ? // 某幾項(xiàng)默認(rèn)禁止選中(R: 當(dāng)state等于1時(shí)) ? ? ? ? ? ? // disabled: record.state == 1, ? ? ? ? ? ? // 某幾項(xiàng)默認(rèn)選中(R: 當(dāng)state等于1時(shí)) ? ? ? ? ? ? defaultChecked: record.state === 1 ? ? ? ? ? } ? ? ? ? }) ? ? ? } ? ? } ? }
Antd Table組件rowSelection方法的一些坑
當(dāng)table組件多選時(shí),會(huì)將所有的表格數(shù)據(jù)全部選中。
在組件中官網(wǎng)有提供rowSelection方法,可以讓Table的第一列成為聯(lián)動(dòng)的選擇框以及通過(guò)rowSelection.selectedRowKeys來(lái)控制選項(xiàng)。
比較坑的是
selectedRowKeys控制的只是dataSource當(dāng)前的序號(hào),必須加上rowKey={record =>record.userId},如果不加上會(huì)導(dǎo)致聯(lián)動(dòng)的選擇框異常,rowKey的id可以自定義為dataSource中的某個(gè)值。
遇到問(wèn)題:當(dāng)選擇某一行的數(shù)據(jù)事,它會(huì)全部選中,而且在onChange事件中的selectRowKeys的值為“[null]”,如下圖所示:
解決代碼如下
<Table rowSelection={{type:"checkbox",selectedRowKeys:selectedUserKeys, onChange:(selectedKeys,selectedRows) => selectedUserOnChange(selectedKeys,selectedRows)}} columns={slackColumns} dataSource={unApproved} pagination={false} scroll={{y:80}} size="small" rowKey={record => record.userId}/>
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue?前端路由工作原理hash與history的區(qū)別
這篇文章主要介紹了Vue?前端路由工作原理hash與history的區(qū)別,文章圍繞主題展開(kāi)vue-router的工作原理的簡(jiǎn)單介紹,感興趣的朋友可以學(xué)習(xí)一下2022-07-07vue2+tracking實(shí)現(xiàn)PC端的人臉識(shí)別示例
本文主要介紹了vue2+tracking實(shí)現(xiàn)PC端的人臉識(shí)別示例,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05深入理解vue輸入框字符限制的優(yōu)化設(shè)計(jì)方案
限制輸入框字符是一項(xiàng)需要結(jié)合技術(shù)實(shí)現(xiàn)與用戶體驗(yàn)的綜合設(shè)計(jì),通過(guò)實(shí)時(shí)限制、提交校驗(yàn)與性能優(yōu)化,開(kāi)發(fā)者可以高效解決輸入限制問(wèn)題,同時(shí)提升用戶滿意度和數(shù)據(jù)安全性,本文給大家介紹vue輸入框字符限制的優(yōu)化設(shè)計(jì),感興趣的朋友跟隨小編一起看看吧2024-12-12vue3實(shí)現(xiàn)搜索項(xiàng)超過(guò)n行就折疊的思路詳解
我們?cè)谧隽斜聿樵兊臅r(shí)候,會(huì)有很多查詢項(xiàng),如何實(shí)現(xiàn)超過(guò)n行查詢項(xiàng)的時(shí)候自動(dòng)折疊起來(lái)呢?本文給大家分享vue3實(shí)現(xiàn)搜索項(xiàng)超過(guò)n行就折疊的思路詳解,感興趣的朋友一起看看吧2022-06-06Vue移動(dòng)端下拉加載更多數(shù)據(jù)onload實(shí)現(xiàn)方法淺析
這篇文章主要介紹了Vue移動(dòng)端下拉加載更多數(shù)據(jù)onload實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02Vue3將虛擬節(jié)點(diǎn)渲染到網(wǎng)頁(yè)初次渲染詳解
這篇文章主要為大家介紹了Vue3將虛擬節(jié)點(diǎn)渲染到網(wǎng)頁(yè)初次渲染詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03vue實(shí)現(xiàn)簡(jiǎn)單分頁(yè)功能
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)簡(jiǎn)單分頁(yè)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03詳解Vue.js在頁(yè)面加載時(shí)執(zhí)行某個(gè)方法
這篇文章主要介紹了詳解Vue.js在頁(yè)面加載時(shí)執(zhí)行某個(gè)方法的實(shí)現(xiàn)代碼,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-11-11