el-table解決過濾導(dǎo)致選中的丟失的問題
el-table解決過濾導(dǎo)致選中的丟失
場景:
當(dāng)前選中了A,B,C,D四條數(shù)據(jù),我現(xiàn)在想找出Z這條數(shù)據(jù),過濾之后,ABCD就是不可見,但是我還是選中了,此時選中Z之后ABCD就選中不了了,此時我們需要選中ABCD并且選中Z。
第一步:el-table的設(shè)置
重點是ref="kpiTableRef",@select="handleSelectKpi",@select-all="handleSelectKpi"
注意:select和select-all需要對應(yīng)一個相同的方法的名稱。
filteredKpiOptions是計算屬性的來的。
<el-table
ref="kpiTableRef"
style="margin: 0 10px 0 0"
:data="filteredKpiOptions"
:height="450"
v-loading="kpiTableLoading"
:header-cell-style="{ background: '#eef1f6', color: '#606266' }"
highlight-row
@select="handleSelectKpi"
@select-all="handleSelectKpi"
>
<el-table-column type="selection" width="55" />
<el-table-column
prop="name"
label="xxx名稱"
:show-overflow-tooltip="true"
/>
</el-table>第二步:設(shè)置計算屬性
待過濾名稱
<el-form :inline="true" :model="filterKpiModel">
<el-form-item label="xx名稱" prop="name">
<el-input v-model="filterKpiModel.kpiName" placeholder="過濾xxx名稱" clearable/>
</el-form-item>
</el-form>計算屬性
- - kpiOptions是全部的數(shù)據(jù)
- - filteredKpiOptions 是過濾返回的數(shù)據(jù)
filteredKpiOptions() {
// 刷新選中
this.setKpiSelStatus();
if (!this.filterKpiModel.kpiName) {
return this.kpiOptions;
}
return this.kpiOptions.filter((data) =>
data.kpiName.includes(this.filterKpiModel.name)
);
}第三步:設(shè)置選中的數(shù)據(jù)
setKpiSelStatus() {
const vm = this;
let currentKpiIds = [];
for (let selKpi of vm.selKpiList) {
if (!currentKpiIds.includes(selKpi.kpiId)) {
currentKpiIds.push(selKpi.kpiId);
}
}
for (let kpi of vm.kpiOptions) {
vm.$set(kpi, 'kpiId', kpi.id);
if (currentKpiIds.includes(kpi.id)) {
vm.$set(kpi, 'isCheck', true);
vm.$nextTick(() => {
vm.$refs.kpiTableRef.toggleRowSelection(kpi, true);
});
} else {
vm.$set(kpi, 'isCheck', false);
}
}
},到此這篇關(guān)于el-table解決過濾導(dǎo)致選中的丟失的文章就介紹到這了,更多相關(guān)el-table過濾導(dǎo)致選中的丟失內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
javascript設(shè)計模式之中介者模式Mediator
這篇文章主要介紹了javascript設(shè)計模式之中介者模式Mediator,需要的朋友可以參考下2014-12-12
JavaScript存儲方式Cookie到IndexedDB全解析
這篇文章主要介紹了JavaScript存儲方式Cookie到IndexedDB的相關(guān)資料,IndexedDB是一種客戶端存儲技術(shù),允許Web應(yīng)用程序在用戶的瀏覽器中存儲和檢索數(shù)據(jù),即使在沒有網(wǎng)絡(luò)連接的情況下也能工作,需要的朋友可以參考下2026-01-01
Javascript中JSON數(shù)據(jù)分組優(yōu)化實踐及JS操作JSON總結(jié)
這篇文章主要介紹了Javascript中JSON數(shù)據(jù)分組優(yōu)化實踐,文中還對JS操作JSON的要領(lǐng)做了總結(jié),需要的朋友可以參考下2017-12-12
JS 實現(xiàn)導(dǎo)航欄懸停效果(續(xù))
上次導(dǎo)航欄懸停的那個頁面在IE上運行的時候,會出導(dǎo)航欄不停的抖動問題,在本文已有完美的解決方法,將導(dǎo)航欄的定位方式由原來的absolute改為fixed即可2013-09-09
使用threejs實現(xiàn)第一人稱視角的移動的問題(示例代碼)
第一人稱視角的場景巡檢主要需要解決兩個問題,人物在場景中的移動和碰撞檢測。移動與碰撞功能是所有三維場景首先需要解決的基本問題,今天我們就通過最基本的threejs來完成第一人稱視角的場景巡檢功能,感興趣的朋友一起看看吧2022-02-02
fullPage.js全屏滾動展示完整實戰(zhàn)教程(2025最新版)
fullPage.js是一款知名的JavaScript插件,專為創(chuàng)建全屏滾動效果而設(shè)計,這篇文章主要介紹了fullPage.js全屏滾動展示的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-12-12
JavaScript設(shè)計模式之原型模式分析【ES5與ES6】
這篇文章主要介紹了JavaScript設(shè)計模式之原型模式,簡單描述了原型模式的概念、原理,并結(jié)合實例形式分析了ES5與ES6實現(xiàn)原型模式的相關(guān)操作技巧,需要的朋友可以參考下2018-07-07

