最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue中table多選/單選行,獲取其數(shù)據(jù)方式

 更新時(shí)間:2023年07月25日 10:29:37   作者:Slay__  
這篇文章主要介紹了vue中table多選/單選行,獲取其數(shù)據(jù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

vue table多選/單選行,獲取其數(shù)據(jù)

多選

使用官方文檔提供的方式:手動(dòng)添加一個(gè)el-table-column,設(shè)type屬性為selection即可。

<template>
? <el-table
? ? ref="multipleTable"
? ? :data="tableData"
? ? tooltip-effect="dark"
? ? style="width: 100%"
? ? @selection-change="handleSelectionChange">
? ? <el-table-column
? ? ? type="selection"
? ? ? width="55">
? ? </el-table-column>
? ? <el-table-column
? ? ? label="日期"
? ? ? width="120">
? ? ? <template slot-scope="scope">{{ scope.row.date }}</template>
? ? </el-table-column>
? ? <el-table-column
? ? ? prop="name"
? ? ? label="姓名"
? ? ? width="120">
? ? </el-table-column>
? ? <el-table-column
? ? ? prop="address"
? ? ? label="地址"
? ? ? show-overflow-tooltip>
? ? </el-table-column>
? </el-table>
? <div style="margin-top: 20px">
? ? <el-button @click="toggleSelection([tableData[1], tableData[2]])">切換第二、第三行的選中狀態(tài)</el-button>
? ? <el-button @click="toggleSelection()">取消選擇</el-button>
? </div>
</template>
<script>
? export default {
? ? data() {
? ? ? return {
? ? ? ? tableData: [{
? ? ? ? ? date: '2016-05-03',
? ? ? ? ? name: '王小虎',
? ? ? ? ? address: '上海市普陀區(qū)金沙江路 1518 弄'
? ? ? ? }, {
? ? ? ? ? date: '2016-05-02',
? ? ? ? ? name: '王小虎',
? ? ? ? ? address: '上海市普陀區(qū)金沙江路 1518 弄'
? ? ? ? }],
? ? ? ? multipleSelection: []
? ? ? }
? ? },
? ? methods: {
? ? ? toggleSelection(rows) {
? ? ? ? if (rows) {
? ? ? ? ? rows.forEach(row => {
? ? ? ? ? ? this.$refs.multipleTable.toggleRowSelection(row);
? ? ? ? ? });
? ? ? ? } else {
? ? ? ? ? this.$refs.multipleTable.clearSelection();
? ? ? ? }
? ? ? },
? ? ? handleSelectionChange(val) {
? ? ? ? this.multipleSelection = val;
? ? ? }
? ? }
? }
</script>

單選

在多選的基礎(chǔ)上修改,樣式不變,將handleSelectionChange方法修改為:

handleSelectionChange(val) {
? ? ? this.multipleSelection = val
? ? ? if (val.length > 1) {
? ? ? ? this.$refs.multipleTableFrag.clearSelection()
? ? ? ? this.$refs.multipleTableFrag.toggleRowSelection(val.pop())
? ? ? }
? ? ? console.log(val[0]['name'])
? ? },

用數(shù)組存儲(chǔ)所選行,每次數(shù)組長度大于1時(shí),會(huì)pop之前的行,保證數(shù)組中最多存在一個(gè)行的數(shù)據(jù)。獲取該行某個(gè)屬性的數(shù)據(jù),用val[0]['屬性名']。

注意:

this.$refs.multipleTableFrag.clearSelection()為通過table的屬性ref值,找到相應(yīng)的table,執(zhí)行后面的clearSelection()方法。

若多個(gè)表,記得ref要寫的不一樣。

el-table 多選 單選功能

常見的el-table多選刪除功能

<el-table :data="tableData" @selection-change="handleSelectionChange">

js: 將選擇的id保存在一個(gè)數(shù)組里面,可以使用forEach或者map(map可以直接返回一個(gè)數(shù)組,較為方便)

?// 表格復(fù)選框 數(shù)據(jù)
? ? ? ? handleSelectionChange(val) {
? ? ? ? ? ? this.changArr = []
? ? ? ? ? ? val.forEach((item) => {
? ? ? ? ? ? ? ? this.changArr.push(item.idBq)
? ? ? ? ? ? })
? ? ? ? },

然后就是刪除操作:

?// 批量刪除
? ? ? ? deleteDatafile() {
? ? ? ? ? ? if (this.changArr.length > 0) {
? ? ? ? ? ? ? ? this.$confirm('此操作將永久批量刪除該文件, 是否繼續(xù)?', '提示', {
? ? ? ? ? ? ? ? ? ? confirmButtonText: '確定',
? ? ? ? ? ? ? ? ? ? cancelButtonText: '取消',
? ? ? ? ? ? ? ? ? ? type: 'warning',
? ? ? ? ? ? ? ? })
? ? ? ? ? ? ? ? ? ? .then(() => {
? ? ? ? ? ? ? ? ? ? ? ? removeTag({
? ? ? ? ? ? ? ? ? ? ? ? ? ? idbqs: this.changArr,
? ? ? ? ? ? ? ? ? ? ? ? }).then((res) => {
? ? ? ? ? ? ? ? ? ? ? ? ? ? if (res && res.data.data) {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? this.$message.success('刪除成功')
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? this.queryData()
? ? ? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? })
? ? ? ? ? ? ? ? ? ? })
? ? ? ? ? ? ? ? ? ? .catch(() => {
? ? ? ? ? ? ? ? ? ? ? ? this.$message({
? ? ? ? ? ? ? ? ? ? ? ? ? ? type: 'info',
? ? ? ? ? ? ? ? ? ? ? ? ? ? message: '已取消刪除',
? ? ? ? ? ? ? ? ? ? ? ? })
? ? ? ? ? ? ? ? ? ? })
? ? ? ? ? ? }
? ? ? ? },

單選刪除

直接使用 @select="select",在這個(gè)方法里面將數(shù)據(jù)前面的復(fù)選框回顯上

?<el-table :data="tableData" @select="select">

js部分:

// 單選
? ? ? ? select(selection, row) {
? ? ? ? ? ? if (selection.length > 1) {
? ? ? ? ? ? ? ? let del_row = selection.shift()
? ? ? ? ? ? ? ? this.$refs.table.toggleRowSelection(del_row, false)
? ? ? ? ? ? }
? ? ? ? ? ? this.xmdmArr = []
? ? ? ? ? ? this.chooseList = []
? ? ? ? ? ? this.xmdmArr.push(row.xmdm)
? ? ? ? ? ? this.chooseList = row.bqszdx.map((item) => {
? ? ? ? ? ? ? ? return item.idBq
? ? ? ? ? ? })
? ? ? ? },

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue2.0 解決抽取公用js的問題

    vue2.0 解決抽取公用js的問題

    這篇文章主要介紹了vue2.0 解決抽取公用js的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • vue自定義組件實(shí)現(xiàn)v-model雙向綁定數(shù)據(jù)的實(shí)例代碼

    vue自定義組件實(shí)現(xiàn)v-model雙向綁定數(shù)據(jù)的實(shí)例代碼

    vue中父子組件通信,都是單項(xiàng)的,直接在子組件中修改prop傳的值vue也會(huì)給出一個(gè)警告,接下來就用一個(gè)小列子一步一步實(shí)現(xiàn)了vue自定義的組件實(shí)現(xiàn)v-model雙向綁定,需要的朋友可以參考下
    2021-10-10
  • 深入理解Vue Computed計(jì)算屬性原理

    深入理解Vue Computed計(jì)算屬性原理

    Computed 計(jì)算屬性是 Vue 中常用的一個(gè)功能,本篇文章主要介紹了Vue Computed 計(jì)算屬性原理,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-05-05
  • 基于vue.js輪播組件vue-awesome-swiper實(shí)現(xiàn)輪播圖

    基于vue.js輪播組件vue-awesome-swiper實(shí)現(xiàn)輪播圖

    一般做移動(dòng)端輪播圖的時(shí)候,最常用的就是Swiper插件了,而vue.js也有一個(gè)輪播組件vue-awesome-swiper,用法跟swiper相似。接下來通過本文給大家詳解講解vue.js輪播組件vue-awesome-swiper實(shí)現(xiàn)輪播圖實(shí)例代碼,需要的朋友參考下
    2017-03-03
  • vue3中傳遞路徑參數(shù)的限制

    vue3中傳遞路徑參數(shù)的限制

    在 Vue 3 里使用路由跳轉(zhuǎn)到用戶頁并傳遞路徑參數(shù)時(shí),存在一些限制和需要注意的方面,下面給大家分享vue3中傳遞路徑參數(shù)有什么限制,感興趣的朋友一起看看吧
    2025-03-03
  • uniapp和vue如何獲取屏幕或盒子內(nèi)容的寬高

    uniapp和vue如何獲取屏幕或盒子內(nèi)容的寬高

    在實(shí)際開發(fā)中我們會(huì)遇到不確定高度的情況,下面這篇文章主要給大家介紹了關(guān)于uniapp和vue如何獲取屏幕或盒子內(nèi)容的寬高,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-02-02
  • vue-cli 介紹與安裝

    vue-cli 介紹與安裝

    這篇文章主要給大家介紹的是vue-cli 介紹與安裝,vue-cli是和vue進(jìn)行深度組合的工具,可以快速幫我們創(chuàng)建vue項(xiàng)目,并且把一些腳手架相關(guān)的代碼給我們創(chuàng)建好。真正使用vue開發(fā)項(xiàng)目,都是用vue-cli來創(chuàng)建項(xiàng)目的,下面文章詳細(xì)內(nèi)容,需要的朋友可以參考一下
    2021-10-10
  • Vue項(xiàng)目打包問題詳解(生產(chǎn)環(huán)境樣式失效)

    Vue項(xiàng)目打包問題詳解(生產(chǎn)環(huán)境樣式失效)

    在Vue開發(fā)過程中,項(xiàng)目的打包是一個(gè)非常重要的步驟,下面這篇文章主要給大家介紹了關(guān)于Vue項(xiàng)目打包問題(生產(chǎn)環(huán)境樣式失效)的相關(guān)資料,文中介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • vue3??mixin?混入使用方法

    vue3??mixin?混入使用方法

    這篇文章主要介紹了?vue3??mixin?混入使用方法,mixin?混入,提供了一種非常靈活的方式,來分發(fā)?vue?組件中的可復(fù)用功能,一個(gè)mixin?對(duì)象可以包含任意組件選項(xiàng),當(dāng)組件使用?mixin?對(duì)象時(shí),所有的?mixin?對(duì)象的選項(xiàng)將被混入組件本身的選項(xiàng)。,需要的朋友可以參考一下
    2021-11-11
  • Vue實(shí)現(xiàn)大屏獲取當(dāng)前所處城市及當(dāng)?shù)靥鞖獾木唧w方案

    Vue實(shí)現(xiàn)大屏獲取當(dāng)前所處城市及當(dāng)?shù)靥鞖獾木唧w方案

    文章介紹了如何在大屏項(xiàng)目中展示城市名稱和實(shí)時(shí)天氣信息,通過瀏覽器的GeolocationAPI獲取經(jīng)緯度,然后使用逆地理編碼服務(wù)獲取城市名稱,文章還提到了使用Open-Meteo獲取天氣信息,該服務(wù)免費(fèi)且支持全球經(jīng)緯度的實(shí)時(shí)天氣和未來7天預(yù)報(bào),需要的朋友可以參考下
    2026-02-02

最新評(píng)論

桃源县| 吴江市| 工布江达县| 崇明县| 曲麻莱县| 南安市| 砚山县| 蒲城县| 共和县| 张北县| 兴安盟| 容城县| 清原| 花莲县| 金湖县| 吉水县| 南江县| 九寨沟县| 长白| 历史| 平潭县| 田东县| 白河县| 尉犁县| 尖扎县| 南岸区| 宁都县| 青州市| 佳木斯市| 彰武县| 荔波县| 鄢陵县| 乌拉特前旗| 建始县| 鄂托克前旗| 体育| 兴安县| 灯塔市| 孟州市| 邢台县| 永川市|