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é)習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Vue路由跳轉(zhuǎn)傳參或者打開新頁面跳轉(zhuǎn)問題
這篇文章主要介紹了Vue路由跳轉(zhuǎn)傳參或者打開新頁面跳轉(zhuǎn)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03
Vue.js 中的 v-model 指令及綁定表單元素的方法
這篇文章主要介紹了Vue.js 中的 v-model 指令及綁定表單元素的方法,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2018-12-12
vue3聲明響應(yīng)式狀態(tài)使用(含ref,reactive,toRef(),toRefs()等)
這篇文章主要介紹了vue3聲明響應(yīng)式狀態(tài)使用(含ref,reactive,toRef(),toRefs()等),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-07-07
Vue-router編程式導(dǎo)航的兩種實現(xiàn)代碼
這篇文章主要介紹了Vue-router編程式導(dǎo)航的實現(xiàn)代碼,本文給大家介紹的非常詳細,對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03
vite中的glob-import批量導(dǎo)入的實現(xiàn)
本文主要介紹了vite中的glob-import批量導(dǎo)入的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧2023-07-07
教你使用vue-autofit 一行代碼搞定自適應(yīng)可視化大屏
這篇文章主要為大家介紹了使用vue-autofit 一行代碼搞定自適應(yīng)可視化大屏教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-05-05
vue中回調(diào)函數(shù)(callback)的用法舉例
這篇文章主要給大家介紹了關(guān)于vue中回調(diào)函數(shù)(callback)的用法舉例,所謂的回調(diào)函數(shù),就是由調(diào)用函數(shù)提供執(zhí)行代碼,被調(diào)用函數(shù)執(zhí)行完畢之后,再自動執(zhí)行的一個函數(shù),需要的朋友可以參考下2023-08-08

