Vue關(guān)于element穿梭框進(jìn)行的修改成table表格穿梭框方式
更新時間:2024年04月18日 10:08:12 作者:像牛奶卻不是牛奶
這篇文章主要介紹了Vue關(guān)于element穿梭框進(jìn)行的修改成table表格穿梭框方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
關(guān)于element穿梭框進(jìn)行的修改成table表格穿梭框
直接先看樣式圖
<!--彈出層 --> <el-dialog title="標(biāo)題" :visible.sync="introductionVisible" width="70%"> <el-form :model="introductionForm" label-width="100px"> <el-row style="display:flex;justify-content:space-around"> <el-col :span="10" style="border:1px solid #EBEEF5"> <span style="display:block;font-size:16px;text-align:center;padding:10px;border-bottom:1px solid #EBEEF5;margin-bottom:10px">請選擇</span> <el-col :span="16"> <el-form-item label="姓名"> <el-input size="mini" v-model="studentName" :style="{width: '120px'}"></el-input> </el-form-item> </el-col> <el-col :span="24" style="margin-right:10px" > <el-form-item label="所屬單位"> <select-builder table="org" v-model="orgId" :style="{width: '120px'}"></select-builder> *[HTML]:自己封裝的組件,沒有的話也可以用input <el-radio-group v-model="search_range"> <el-radio :label="0" style="margin-left: 10px; margin-right:10px;">本級</el-radio> <el-radio :label="1">全部</el-radio> </el-radio-group> </el-form-item> </el-col> <el-col :span="24" style="display:flex;justify-content:space-around;margin:-10px 0 10px 0"> <el-button type="primary" size="mini">查詢</el-button> </el-col> <el-table :data="data1" border ref="selection" @selection-change="checkAll" style="width: 100%"> <el-table-column type="selection" width="30"> </el-table-column> <el-table-column prop="name" label="人員姓名" > </el-table-column> <el-table-column prop="date" label="機(jī)構(gòu)路徑" ></el-table-column> </el-table> </el-col> <el-col :span="2" style="display:flex;flex-direction:column;justify-content:center"> <el-button icon="el-icon-d-arrow-right" :disabled="nowSelectData.length?false:true" size="mini" type="primary" @click="handelSelect"></el-button> <el-button icon="el-icon-d-arrow-left" :disabled="nowSelectRightData.length?false:true" size="mini" type="primary" @click="handleRemoveSelect" style="margin-top:10px;margin-left:0px;"></el-button> </el-col> <el-col :span="10" style="border:1px solid #EBEEF5;min-height:460px"> <span style="display:block;font-size:16px;text-align:center;padding:10px;border-bottom:1px solid #EBEEF5;margin-bottom:10px">已選擇</span> <el-table :data="selectArr" border ref="selection" @selection-change="checkRightAll" style="width: 100%"> <el-table-column type="selection" width="30"></el-table-column> <el-table-column prop="name" label="人員姓名"></el-table-column> <el-table-column prop="date" label="機(jī)構(gòu)路徑"></el-table-column> </el-table> </el-col> </el-row> </el-form> <div slot="footer" class="dialog-footer"> <el-button @click="introductionVisible = false">取 消</el-button> <el-button type="primary" @click="introductionVisible = false">確 定</el-button> </div> </el-dialog>
- js
<script> export default { data() { return { studentName:'', orgId:'', search_range:'', selectArr:[], // 右邊列表 options: [], value: '', data1:[{ date: '11000KV-三站1', name: '王小虎1', }, { date: '11000KV-三站2', name: '王小虎2', }, { date: '11000KV-三站3', name: '王小虎3', }, { date: '11000KV-三站4', name: '王小虎4', }, { date: '11000KV-三站5', name: '王小虎5', }, { date: '11000KV-三站6', name: '王小虎6', }, { date: '11000KV-三站7', name: '王小虎7', }], nowSelectData: [], // 左邊選中列表數(shù)據(jù) nowSelectRightData: [], // 右邊選中列表數(shù)據(jù) }; }, methods: { checkAll(val){ this.nowSelectData = val; }, checkRightAll(val) { this.nowSelectRightData = val; }, // 選中 handelSelect(){ this.selectArr = this.handleConcatArr(this.selectArr, this.nowSelectData) this.handleRemoveTabList(this.nowSelectData, this.data1); this.nowSelectData = []; }, // 取消 handleRemoveSelect() { this.data1 = this.handleConcatArr(this.data1, this.nowSelectRightData) this.handleRemoveTabList(this.nowSelectRightData, this.selectArr); this.nowSelectRightData = []; }, handleConcatArr(selectArr, nowSelectData) { let arr = []; arr = arr.concat(selectArr, nowSelectData); return arr; }, handleRemoveTabList(isNeedArr, originalArr) { if(isNeedArr.length && originalArr.length) { for(let i=0; i<isNeedArr.length; i++) { for(let k=0; k<originalArr.length; k++) { if(isNeedArr[i]["name"] === originalArr[k]["name"]) { originalArr.splice(k, 1); } } } } } }, }; </script>
總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue使用swiper插件實(shí)現(xiàn)輪播圖的示例
這篇文章主要介紹了vue使用swiper插件實(shí)現(xiàn)輪播圖的示例,幫助大家更好的理解和學(xué)習(xí)使用vue框架,感興趣的朋友可以了解下2021-05-05vue3+ts+element-plus 表單el-form取消回車默認(rèn)提交
文章主要講述了在使用Element UI的el-form和el-input組件時,按回車鍵導(dǎo)致頁面刷新的問題,并提供了四種解決方法:阻止表單的默認(rèn)提交事件、阻止keydown回車事件、在指定的el-input組件上阻止keydown回車事件以及在el-input中按特定組合鍵進(jìn)行查找,感興趣的朋友一起看看吧2025-01-01vue項(xiàng)目如何引入json數(shù)據(jù)
這篇文章主要介紹了vue項(xiàng)目如何引入json數(shù)據(jù),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-10-10vue使用高德地圖點(diǎn)擊下鉆上浮效果的實(shí)現(xiàn)思路
這篇文章主要介紹了vue使用高德地圖點(diǎn)擊下鉆 上浮效果的實(shí)現(xiàn)思路,本文以浙江省為例通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2019-10-10vue+echarts實(shí)現(xiàn)動態(tài)繪制圖表及異步加載數(shù)據(jù)的方法
vue寫的后臺管理,需要將表格數(shù)據(jù)繪制成圖表(折線圖,柱狀圖),圖表數(shù)據(jù)都是通過接口請求回來的。這篇文章主要介紹了vue+echarts 動態(tài)繪制圖表及異步加載數(shù)據(jù)的相關(guān)知識,需要的朋友可以參考下2018-10-10