溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

vue+element獲取el-table某行的下標(biāo),根據(jù)下標(biāo)操作數(shù)組對(duì)象方式

發(fā)布時(shí)間:2020-09-15 16:57:02 來源:腳本之家 閱讀:1572 作者:初冬季節(jié) 欄目:開發(fā)技術(shù)

1.在vue中對(duì)數(shù)組中的某個(gè)對(duì)象進(jìn)行操作時(shí)(替換、刪除),都需要用到該對(duì)象在數(shù)組中的下標(biāo)。

前端代碼:

scope.$index :獲取當(dāng)前行的下標(biāo)

scope.row:獲取當(dāng)前行的對(duì)象

vue+element獲取el-table某行的下標(biāo),根據(jù)下標(biāo)操作數(shù)組對(duì)象方式

效果圖:

vue+element獲取el-table某行的下標(biāo),根據(jù)下標(biāo)操作數(shù)組對(duì)象方式

思路:通過點(diǎn)擊事件將該對(duì)象在數(shù)組中的下標(biāo)傳遞到方法中,然后對(duì)數(shù)組進(jìn)行操作

vue+element獲取el-table某行的下標(biāo),根據(jù)下標(biāo)操作數(shù)組對(duì)象方式

即可根據(jù)下標(biāo)刪除數(shù)組中對(duì)應(yīng)的對(duì)象。

補(bǔ)充知識(shí):vue-element-upload 文件上傳打開選擇文件彈框前進(jìn)行提示或操作

在項(xiàng)目中使用文件上傳功能時(shí),需求是不能直接彈出彈框,要先二次確認(rèn)或進(jìn)行提示。引申開來,即可在打開選擇文件彈框之前,做一系列操作。

實(shí)現(xiàn)思路在基于element-upload組件的基礎(chǔ)上,再加一個(gè)按鈕,觸發(fā)按鈕后進(jìn)行選擇文件前的操作,操作完成后觸發(fā)upload的選擇文件。

具體效果:點(diǎn)擊‘導(dǎo)入‘時(shí),提示必選項(xiàng)。

vue+element獲取el-table某行的下標(biāo),根據(jù)下標(biāo)操作數(shù)組對(duì)象方式

具體實(shí)現(xiàn):

1、新寫一個(gè)‘導(dǎo)入'按鈕,以定位的形式遮擋上傳組件。這里是將element-upload進(jìn)行了二次封裝。

組件使用:

<div class="importBox">
   <el-button type="primary" icon="el-icon-upload2" class="box_btn" @click="onImport">導(dǎo)入</el-button>
   <ImportExcel ref="importFile" class="box_upload"@getImportFile='getImportFile'/>
</div>

組件定義:

<template>
 <el-upload
  class="upload-demo"
  ref="fileRefs"
  :action="action"
  :show-file-list="false"
  :accept="acctype"
  :limit="limit"
  :http-request="uploadFileRes"
  :before-upload="beforeAvatarUpload"
  >
  <el-button :loading="uploadLoading" type="primary" >導(dǎo)入</el-button>
 </el-upload>
</template>

2、點(diǎn)擊‘導(dǎo)入'觸發(fā)事件。

// 按鈕-導(dǎo)入
  onImport() {
   // 可以先進(jìn)行適合自己需求的操作,完成后再執(zhí)行
    this.$refs['importFile'].$refs['fileRefs'].$refs['upload-inner'].handleClick()觸發(fā)選擇文件
   this.$refs.searchForm.validate((valid) => {
    if (valid) {
     this.$refs['importFile'].$refs['fileRefs'].$refs['upload-inner'].handleClick()
    }
   })
  },

3、解析:

this.$refs['importFile'].$refs['fileRefs'].$refs['upload-inner'].handleClick()

通過ref逐層觸發(fā)組件內(nèi)按鈕的handleClick事件,注意區(qū)分['importFile']、['fileRefs'],其中['upload-inner'] 是 ImportExcel 組件內(nèi)部按鈕的ref

可以將不同的ref在控制臺(tái)打印出來,看具體內(nèi)容。

總結(jié):示例只是對(duì)選擇文件前的表單進(jìn)行校驗(yàn),根據(jù)自己需求可以實(shí)現(xiàn)不同的文件選擇前的處理。希望能給大家一個(gè)參考,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI