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 相关文章推荐
jQuery 渐变下拉菜单
Dec 15 Javascript
JS组件中bootstrap multiselect两大组件较量
Jan 26 Javascript
jQuery根据表单name获取值的方法
May 24 Javascript
JavaScript数组的栈方法与队列方法详解
May 26 Javascript
js操作DOM--添加、删除节点的简单实例
Jul 08 Javascript
学习掌握JavaScript中this的使用技巧
Aug 29 Javascript
Vue.js路由vue-router使用方法详解
Mar 20 Javascript
详解jquery选择器的原理
Aug 01 jQuery
JavaScript学习笔记之函数记忆
Sep 06 Javascript
vue.js实现简单轮播图效果
Oct 10 Javascript
layui插件表单验证提交触发提交的例子
Sep 09 Javascript
JS绘图Flot如何实现可选显示曲线图功能
Oct 16 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
DIY一个适配电脑声卡的动圈话筒放大器
2021/03/02 无线电
yii框架中的Url生产问题小结
2012/01/16 PHP
解析百度搜索结果link?url=参数分析 (全)
2012/10/09 PHP
深入php处理整数函数的详解
2013/06/09 PHP
关于file_get_contents返回为空或函数不可用的解决方案
2013/06/24 PHP
php将文本文件转换csv输出的方法
2014/12/31 PHP
php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
2016/12/07 PHP
Thinkphp5.0 框架的请求方式与响应方式分析
2019/10/14 PHP
漂亮的jquery提示效果(仿腾讯弹出层)
2013/02/05 Javascript
浅析showModalDialog数据缓存问题(用禁止浏览器缓存解决)
2013/07/09 Javascript
得到form下的所有的input的js代码
2013/11/07 Javascript
javascript数组详解
2014/10/22 Javascript
javascript实现点击提交按钮后显示loading的方法
2015/07/03 Javascript
JS实现屏蔽网页右键复制及ctrl+c复制的方法【2种方法】
2016/09/04 Javascript
Node.js的Mongodb使用实例
2016/12/30 Javascript
js实现简单的网页换肤效果
2017/01/18 Javascript
js实现打地鼠小游戏
2017/02/13 Javascript
微信小程序自定义多选事件的实现代码
2018/05/17 Javascript
js+SVG实现动态时钟效果
2018/07/14 Javascript
Node.js Buffer模块功能及常用方法实例分析
2019/01/05 Javascript
JQuery样式操作、click事件以及索引值-选项卡应用示例
2019/05/14 jQuery
vue+elementui通用弹窗的实现(新增+编辑)
2021/01/07 Vue.js
如何解决django配置settings时遇到Could not import settings 'conf.local'
2014/11/18 Python
python 把列表转化为字符串的方法
2018/10/23 Python
python 队列基本定义与使用方法【初始化、赋值、判断等】
2019/10/24 Python
wxpython+pymysql实现用户登陆功能
2019/11/19 Python
python 实现让字典的value 成为列表
2019/12/16 Python
Python迷宫生成和迷宫破解算法实例
2019/12/24 Python
实例讲解使用HTML5 Canvas绘制阴影效果的方法
2016/03/25 HTML / CSS
屈臣氏越南官网:Watsons越南
2021/01/14 全球购物
法国低价在线宠物商店:bitiba.fr
2020/07/03 全球购物
高考自主招生自荐信
2013/10/20 职场文书
《一株紫丁香》教学反思
2014/02/19 职场文书
安全施工责任书
2014/08/25 职场文书
医院保洁员管理制度
2015/08/05 职场文书
Vue-Element-Admin集成自己的接口实现登录跳转
2021/06/23 Vue.js