Vue中Table組件Select的勾選和取消勾選事件詳解
簡述
之間設(shè)計的界面中使用的是復(fù)選框控件,但是經(jīng)過對官網(wǎng)了一些了解,使我們更加傾向于使用一些官網(wǎng)已經(jīng)封裝好的事件,就比如Table組件的Select勾選和取消勾選的這樣一個事件。
勾選
首先我們需要說一下這個需求,如下圖:
勾選要實現(xiàn)如下的一個效果:對左側(cè)Table的內(nèi)容進行勾選,然后勾選行的數(shù)據(jù)傳給右側(cè)的Table中。
實現(xiàn)代碼如下:
============1、按照官網(wǎng)封裝好的樣式去寫Table組件======= <template> <div> <Table></Table> </div> </template> <script> import axios from "axios"; export default{ data(){ return{ hotFoodData:[], selectedFoodData:[], columnHotFood:[ { title:"菜名", key:"foodName" }, { title:"份數(shù)(默認為不限份數(shù),文本框輸入限制)", key:"perlimitFood", width:300. align:"center", ///////////////////////數(shù)據(jù)雙向綁定///////////////////////////// render:(h,params)=>{ return h("Input",{ props:{ min:0, value:this.hotFoodData[params.index].perlimitFood //設(shè)置數(shù)字 }, on:{ "on-change":event=>{ this.hotFoodData[params.index].permitFood=event.target.value; } } }); } }, { type:"selection", width:100, align:"center" }, ], column2: [ { title: "菜名", key: "foodName" }, { title: "限制份數(shù)(默認為不限份數(shù))", key: "perlimitFood" } ] } methods:{ } }; </script> ============2、向綁定數(shù)據(jù)中傳送數(shù)據(jù)(后端傳送數(shù)據(jù)、方法中書寫)============= add() { var vm = this; //配置熱菜菜單 var urldata = "http://192.168.21.210:8016/Food/QueryFoodByShiId?FoodTN=18"; axios.get(urldata).then(function(response) { vm.hotFoodData = response.data; }); }, created() { this.add(); } ===========3、寫勾選傳輸數(shù)據(jù)的事件============== <Table border :columns="columnMainFood" :data="mainFoodData" @on-select="selectRow" @on-select-all="selectAllRow" ></Table> method中: //點擊左邊表格觸發(fā)事件,向右側(cè)表格添加元素 selectRow(selection, row) { this.selectRowData = row; this.selectedFoodData.push(this.selectRowData); console.log(this.selectedFoodData); },
取消勾選
取消勾選的事件和勾選事件類似,如下(之前table組件的創(chuàng)建代碼和數(shù)據(jù)傳入不再重復(fù))
<Table border :columns="columnMainFood" :data="mainFoodData" @on-select-cancel="selectCancel" ></Table> method中: //點擊左側(cè)表格,取消勾選,右側(cè)數(shù)據(jù)也發(fā)生改變 selectCancel(selection, row) { console.log("看一下row---------", row); this.selectedFoodData.pop(row); }
總結(jié)
還差的遠呢,加油吧!
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
vue中的Object.freeze()?優(yōu)化數(shù)據(jù)方式
這篇文章主要介紹了vue中的Object.freeze()優(yōu)化數(shù)據(jù)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-04-04基于vue-cli3+typescript的tsx開發(fā)模板搭建過程分享
這篇文章主要介紹了搭建基于vue-cli3+typescript的tsx開發(fā)模板,本文通過實例代碼截圖的形式給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2020-02-02vue?mounted周期中document.querySelectorAll()獲取不到元素的解決
這篇文章主要介紹了vue?mounted周期中document.querySelectorAll()獲取不到元素的解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-03-03vue 使用 echarts 繪制中國地圖的實現(xiàn)代碼
這篇文章主要介紹了vue 使用 echarts 繪制中國地圖,內(nèi)容包括插入echarts所需模塊及完整的代碼,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-01-01Vue讀取本地靜態(tài).md并側(cè)邊欄導(dǎo)航跳轉(zhuǎn)、展示.md文件的操作方法
這篇文章主要介紹了Vue讀取本地靜態(tài).md并側(cè)邊欄導(dǎo)航跳轉(zhuǎn)、展示.md文件,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-08-08vue2移動端使用vue-qrcode-reader實現(xiàn)掃一掃功能的步驟
最近在使用vue開發(fā)的h5移動端想要實現(xiàn)一個調(diào)用攝像頭掃描二維碼的功能,所以下面這篇文章主要給大家介紹了關(guān)于vue2移動端使用vue-qrcode-reader實現(xiàn)掃一掃功能的相關(guān)資料,需要的朋友可以參考下2023-06-06