vue+element获取el-table某行的下标,根据下标操作数组对象方式


Posted in Javascript onAugust 07, 2020

1.在vue中对数组中的某个对象进行操作时(替换、删除),都需要用到该对象在数组中的下标。

前端代码:

scope.$index :获取当前行的下标

scope.row:获取当前行的对象

vue+element获取el-table某行的下标,根据下标操作数组对象方式

效果图:

vue+element获取el-table某行的下标,根据下标操作数组对象方式

思路:通过点击事件将该对象在数组中的下标传递到方法中,然后对数组进行操作

vue+element获取el-table某行的下标,根据下标操作数组对象方式

即可根据下标删除数组中对应的对象。

补充知识:vue-element-upload 文件上传打开选择文件弹框前进行提示或操作

在项目中使用文件上传功能时,需求是不能直接弹出弹框,要先二次确认或进行提示。引申开来,即可在打开选择文件弹框之前,做一系列操作。

实现思路在基于element-upload组件的基础上,再加一个按钮,触发按钮后进行选择文件前的操作,操作完成后触发upload的选择文件。

具体效果:点击‘导入‘时,提示必选项。

vue+element获取el-table某行的下标,根据下标操作数组对象方式

具体实现:

1、新写一个‘导入'按钮,以定位的形式遮挡上传组件。这里是将element-upload进行了二次封装。

组件使用:

<div class="importBox">
   <el-button type="primary" icon="el-icon-upload2" class="box_btn" @click="onImport">导入</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" >导入</el-button>
 </el-upload>
</template>

2、点击‘导入'触发事件。

// 按钮-导入
  onImport() {
   // 可以先进行适合自己需求的操作,完成后再执行

this.$refs['importFile'].$refs['fileRefs'].$refs['upload-inner'].handleClick()触发选择文件
   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逐层触发组件内按钮的handleClick事件,注意区分['importFile']、['fileRefs'],其中['upload-inner'] 是 ImportExcel 组件内部按钮的ref

可以将不同的ref在控制台打印出来,看具体内容。

总结:示例只是对选择文件前的表单进行校验,根据自己需求可以实现不同的文件选择前的处理。希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript 解疑
Nov 11 Javascript
javascript 带有滚动条的表格,标题固定,带排序功能.
Nov 13 Javascript
javascript中的一些注意事项 更新中
Dec 06 Javascript
jQuery EasyUI API 中文文档 - DataGrid数据表格
Nov 17 Javascript
转换字符串为json对象的方法详解
Nov 29 Javascript
深入理解JavaScript系列(49):Function模式(上篇)
Mar 04 Javascript
JS实现页面数据无限加载
Sep 13 Javascript
jQuery表单插件ajaxForm实例详解
Jan 17 Javascript
使用cropper.js裁剪头像的实例代码
Sep 29 Javascript
Vue 2.5 Level E 发布了: 新功能特性一览
Oct 24 Javascript
JS从非数组对象转数组的方法小结
Mar 26 Javascript
vue-cli —— 如何局部修改Element样式
Oct 22 Javascript
vue.js click点击事件获取当前元素对象的操作
Aug 07 #Javascript
Vue跨域请求问题解决方案过程解析
Aug 07 #Javascript
JQuery通过键盘控制键盘按下与松开触发事件
Aug 07 #jQuery
vue递归获取父元素的元素实例
Aug 07 #Javascript
在vue中使用Base64转码的案例
Aug 07 #Javascript
JavaScript代码模拟鼠标自动点击事件示例
Aug 07 #Javascript
使用JavaScript和MQTT开发物联网应用示例解析
Aug 07 #Javascript
You might like
咖啡磨器 如何选购一台适合家用的意式磨豆机
2021/03/05 新手入门
URL Rewrite的设置方法
2007/01/02 PHP
php入门学习知识点四 PHP正则表达式基本应用
2011/07/14 PHP
PHP中array_merge和array相加的区别分析
2013/06/17 PHP
浅析php单例模式
2014/11/25 PHP
PDO::exec讲解
2019/01/28 PHP
非阻塞动态加载javascript广告实现代码
2010/11/17 Javascript
jQuery数据缓存功能的实现思路及简单模拟
2013/05/27 Javascript
什么是 AngularJS?AngularJS简介
2014/12/06 Javascript
JavaScript获得表单target属性的方法
2015/04/02 Javascript
js完美解决IE6不支持position:fixed的bug
2015/04/24 Javascript
JavaScript面向对象之私有静态变量实例分析
2016/01/14 Javascript
Javascript类型转换的规则实例解析
2016/02/23 Javascript
JS组件Bootstrap导航条使用方法详解
2016/04/29 Javascript
纯JS前端实现分页代码
2016/06/21 Javascript
利用js编写响应式侧边栏
2016/09/17 Javascript
JS中call和apply函数用法实例分析
2018/06/20 Javascript
让webpack+vue-cil项目不再自动打开浏览器的方法
2018/09/27 Javascript
JS实现的贪吃蛇游戏完整实例
2019/01/18 Javascript
JS基于ES6新特性async await进行异步处理操作示例
2019/02/02 Javascript
JQuery animate动画应用示例
2019/05/14 jQuery
微信小程序 简易计算器实现代码实例
2019/09/02 Javascript
原生js实现商品筛选功能
2019/10/28 Javascript
Vue v-for中的 input 或 select的值发生改变时触发事件操作
2020/08/31 Javascript
Vue router安装及使用方法解析
2020/12/02 Vue.js
Python的组合模式与责任链模式编程示例
2016/02/02 Python
python实现彩色图转换成灰度图
2019/01/15 Python
python 实现超级玛丽游戏
2020/11/25 Python
Wilson体育用品官网:美国著名运动器材品牌
2019/05/12 全球购物
大学生专科学习生活的自我评价
2013/12/07 职场文书
十岁生日同学答谢词
2014/01/19 职场文书
大学生见习报告总结
2014/11/04 职场文书
个人租房协议书
2014/11/28 职场文书
护士辞职信怎么写
2015/02/27 职场文书
运动会报道稿大全
2015/07/23 职场文书
MySQL中你可能忽略的COLLATION实例详解
2021/05/12 MySQL