vue el-table實(shí)現(xiàn)多選框回填的示例代碼
主要代碼:
//選中列,所有列,表名 toggleSelection(selectRows, totalRows, tablename) { this.$refs.table.clearSelection(); if (selectRows.length > 0) { this.$nextTick(() => { selectRows.forEach(item => { totalRows.forEach(item1 => { if (item.userId == item1.userId) { this.$refs.table.toggleRowSelection(item1); } }); }); }); } },
效果:
html
<!-- 添加或修改對(duì)話框 --> <el-dialog :title="title" :visible.sync="open" width="880px" append-to-body :close-on-click-modal="false"> <el-form ref="form" :model="form" :rules="rules" label-width="120px" class="add"> <el-form-item label="分組名稱(chēng)" prop="nums"> <el-input v-model="form.nums" placeholder="請(qǐng)輸分組名稱(chēng)" /> </el-form-item> <el-form-item label="人員" prop="names"> <el-input v-model="form.names" type="textarea" style="width:500px" /> <el-input v-model="form.userIds" type="textarea" style="width:500px" /> <el-button type="primary" plain size="mini" @click="selectProject" style="margin-left:20px">人員選擇</el-button> </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> <el-button type="primary" @click="submitForm">確 定</el-button> <el-button @click="cancel">取 消</el-button> </div> </el-dialog> <!-- 項(xiàng)目選擇 --> <el-dialog title="選擇人員" :visible.sync="projectOpen" width="1000px" :append-to-body="true" @close="cancelSelsectProject" :close-on-click-modal="false"> <el-form :model="projectQueryParams" ref="projectQueryForm" :inline="true" v-show="showSearch" label-width="68px"> <el-form-item label="部門(mén)" prop="deptId"> <el-select v-model="projectQueryParams.deptId" filterable clearable placeholder="請(qǐng)選擇部門(mén)"> <el-option v-for="item in deptOptions" :key="item.id" :label="item.label" :value="item.id"> </el-option> </el-select> </el-form-item> <el-form-item label="姓名" prop="nickName"> <el-input v-model="projectQueryParams.nickName" placeholder="姓名" clearable /> </el-form-item> <el-form-item label="編制" prop="name"> <el-select v-model="projectQueryParams.value" placeholder="請(qǐng)選擇"> <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> </el-form-item> <el-form-item> <el-button type="primary" icon="el-icon-search" size="mini" @click="projectHandleQuery">搜索</el-button> <el-button icon="el-icon-refresh" size="mini" @click="projectResetQuery">重置</el-button> </el-form-item> </el-form> <el-table v-loading="loading" :data="projectList" ref="table" @row-click="projectSelectRow" @selection-change="handleSelectionChange" :row-key="row=>row.userId" :highlight-current-row="true" @cell-dblclick="dblclickRow(row)" border> <el-table-column type="selection" width="50" align="center" /> <el-table-column label="部門(mén)" align="center" prop="dept.deptName" /> <el-table-column label="姓名" align="center" prop="nickName" /> <el-table-column label="編制" align="center" prop="types" /> </el-table> <pagination v-show="projectTotal > 0" :total="projectTotal" :page.sync="projectQueryParams.pageNum" :limit.sync="projectQueryParams.pageSize" @pagination="getProjectList" /> <div slot="footer" class="dialog-footer"> <el-button type="primary" @click="submitSelectProject">確 定</el-button> <el-button @click="cancelSelsectProject">取 消</el-button> </div> </el-dialog>
js
// 多選框選中數(shù)據(jù) handleSelectionChange(selection) { this.projectRow = selection; this.ids = selection.map(item => item.userId); this.names = selection.map(item => item.nickName); this.single = selection.length !== 1; this.multiple = !selection.length; }, //打開(kāi)項(xiàng)目選擇彈窗 selectProject() { this.projectOpen = true; this.getProjectList(); }, /** 查詢項(xiàng)目列表 */ getProjectList() { this.loading = true; let rows = this.projectRow; listUser(this.projectQueryParams).then(response => { this.projectList = response.rows; this.projectTotal = response.total; let selectRows = this.projectRow; let totalRows = response.rows; this.loading = false; this.toggleSelection(selectRows, totalRows); }); }, //選中列,所有列,表名 toggleSelection(selectRows, totalRows, tablename) { this.$refs.table.clearSelection(); if (selectRows.length > 0) { this.$nextTick(() => { selectRows.forEach(item => { totalRows.forEach(item1 => { if (item.userId == item1.userId) { this.$refs.table.toggleRowSelection(item1); } }); }); }); } },
到此這篇關(guān)于vue el-table實(shí)現(xiàn)多選框回填的示例代碼的文章就介紹到這了,更多相關(guān)vue el-table多選框回填內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue3界面使用router及使用watch監(jiān)聽(tīng)router的改變
vue2中使用router非常簡(jiǎn)單,但是vue3中略微有些改變,通過(guò)本文講解下他的改變,對(duì)vue3?watch監(jiān)聽(tīng)router相關(guān)知識(shí)感興趣的朋友一起看看吧2022-11-11vue+element項(xiàng)目中過(guò)濾輸入框特殊字符小結(jié)
這篇文章主要介紹了vue+element項(xiàng)目中過(guò)濾輸入框特殊字符小結(jié),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08vue實(shí)現(xiàn)定義一個(gè)全局實(shí)例Vue.prototype
這篇文章主要介紹了vue實(shí)現(xiàn)定義一個(gè)全局實(shí)例Vue.prototype,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07vue+element 實(shí)現(xiàn)商城主題開(kāi)發(fā)的示例代碼
這篇文章主要介紹了vue+element 實(shí)現(xiàn)商城主題開(kāi)發(fā)的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03詳解本地Vue項(xiàng)目請(qǐng)求本地Node.js服務(wù)器的配置方法
本文只針對(duì)自己需要本地模擬接口于是搭建一個(gè)本地node服務(wù)器供自己測(cè)試使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-03-03解讀vue生成的文件目錄結(jié)構(gòu)及說(shuō)明
本篇文章主要介紹了解讀vue生成的文件目錄結(jié)構(gòu)及說(shuō)明,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-11-11vue3?typescript封裝axios過(guò)程示例
這篇文章主要為大家介紹了vue3?typescript封裝axios過(guò)程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10vue實(shí)現(xiàn)微信公眾號(hào)h5跳轉(zhuǎn)小程序的示例代碼
本文主要介紹了vue實(shí)現(xiàn)微信公眾號(hào)h5跳轉(zhuǎn)小程序的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08