Vue中Table組件Select的勾選和取消勾選事件詳解
簡述
之間設計的界面中使用的是復選框控件,但是經(jīng)過對官網(wǎng)了一些了解,使我們更加傾向于使用一些官網(wǎng)已經(jīng)封裝好的事件,就比如Table組件的Select勾選和取消勾選的這樣一個事件。
勾選
首先我們需要說一下這個需求,如下圖:

勾選要實現(xiàn)如下的一個效果:對左側Table的內容進行勾選,然后勾選行的數(shù)據(jù)傳給右側的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ù)字
},
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ā)事件,向右側表格添加元素
selectRow(selection, row) {
this.selectRowData = row;
this.selectedFoodData.push(this.selectRowData);
console.log(this.selectedFoodData);
},
取消勾選
取消勾選的事件和勾選事件類似,如下(之前table組件的創(chuàng)建代碼和數(shù)據(jù)傳入不再重復)
<Table border :columns="columnMainFood" :data="mainFoodData" @on-select-cancel="selectCancel" ></Table>
method中:
//點擊左側表格,取消勾選,右側數(shù)據(jù)也發(fā)生改變
selectCancel(selection, row) {
console.log("看一下row---------", row);
this.selectedFoodData.pop(row);
}
總結
還差的遠呢,加油吧!
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
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-02
vue?mounted周期中document.querySelectorAll()獲取不到元素的解決
這篇文章主要介紹了vue?mounted周期中document.querySelectorAll()獲取不到元素的解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-03-03
vue 使用 echarts 繪制中國地圖的實現(xiàn)代碼
這篇文章主要介紹了vue 使用 echarts 繪制中國地圖,內容包括插入echarts所需模塊及完整的代碼,代碼簡單易懂,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-01-01
Vue讀取本地靜態(tài).md并側邊欄導航跳轉、展示.md文件的操作方法
這篇文章主要介紹了Vue讀取本地靜態(tài).md并側邊欄導航跳轉、展示.md文件,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-08-08
vue2移動端使用vue-qrcode-reader實現(xiàn)掃一掃功能的步驟
最近在使用vue開發(fā)的h5移動端想要實現(xiàn)一個調用攝像頭掃描二維碼的功能,所以下面這篇文章主要給大家介紹了關于vue2移動端使用vue-qrcode-reader實現(xiàn)掃一掃功能的相關資料,需要的朋友可以參考下2023-06-06

