VUE+Element UI实现简单的表格行内编辑效果的示例的代码


Posted in Javascript onOctober 31, 2018

原理是通过Css控制绑定的输入控件与显示值,在选中行样式下对控件进行隐藏或显示

效果示例地址

<!DOCTYPE html>
<html>

<head>
  <meta charset="UTF-8">
  <!-- 引入样式 -->
  <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-default/index.css" rel="external nofollow" >
  <style>
    * {
  margin: 0;
  padding: 0
}
body {
  font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, SimSun, sans-serif;
  overflow: auto;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
}
.tb-edit .el-input {
  display: none
}
.tb-edit .current-row .el-input {
  display: block
}
.tb-edit .current-row .el-input+span {
  display: none
}
  </style>
</head>

<body>
  <div id="app">
    <el-table :data="tableData" class="tb-edit" style="width: 100%" highlight-current-row @row-click="handleCurrentChange">
      <el-table-column label="日期" width="180">
        <template scope="scope">
          <el-input size="small" v-model="scope.row.date" placeholder="请输入内容" @change="handleEdit(scope.$index, scope.row)"></el-input> <span>{{scope.row.date}}</span>
        </template>
      </el-table-column>
      <el-table-column label="姓名" width="180">
        <template scope="scope">
          <el-input size="small" v-model="scope.row.name" placeholder="请输入内容" @change="handleEdit(scope.$index, scope.row)"></el-input> <span>{{scope.row.name}}</span>
        </template>
      </el-table-column>
      <el-table-column prop="address" label="地址">
        <template scope="scope">
          <el-input size="small" v-model="scope.row.address" placeholder="请输入内容" @change="handleEdit(scope.$index, scope.row)"></el-input> <span>{{scope.row.address}}</span>
        </template>
      </el-table-column>
      <el-table-column label="操作">
        <template scope="scope">
          <!--<el-button size="small" @click="handleEdit(scope.$index, scope.row)">编辑</el-button>-->
          <el-button size="small" type="danger" @click="handleDelete(scope.$index, scope.row)">删除</el-button>
        </template>
      </el-table-column>
    </el-table>
    <br>数据:{{tableData}}</div>
</body>
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
<script>
  var app = new Vue({
    el: '#app',
    data: {
      tableData: [{
        date: '2016-05-02',
        name: '王小虎',
        address: '上海市普陀区金沙江路 1518 弄'
      }, {
        date: '2016-05-04',
        name: '王小虎',
        address: '上海市普陀区金沙江路 1517 弄'
      }, {
        date: '2016-05-01',
        name: '王小虎',
        address: '上海市普陀区金沙江路 1519 弄'
      }, {
        date: '2016-05-03',
        name: '王小虎',
        address: '上海市普陀区金沙江路 1516 弄'
      }]
    },
    methods: {
      handleCurrentChange(row, event, column) {
        console.log(row, event, column, event.currentTarget)
      },
      handleEdit(index, row) {
        console.log(index, row);
      },
      handleDelete(index, row) {
        console.log(index, row);
      }
    }
  })
</script> 
</html>

根据原理自定义效果

VUE+Element UI实现简单的表格行内编辑效果的示例的代码

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
解决火狐浏览器下JS setTimeout函数不兼容失效不执行的方法
Nov 14 Javascript
上传图片预览JS脚本 Input file图片预览的实现示例
Oct 23 Javascript
AngularJS中实现显示或隐藏动画效果的方式总结
Dec 31 Javascript
Bootstrap模块dropdown实现下拉框响应
May 22 Javascript
Backbone中View之间传值的学习心得
Aug 09 Javascript
AngularJS自定义服务与fliter的混合使用
Nov 24 Javascript
利用vue.js插入dom节点的方法
Mar 15 Javascript
JS 组件系列之BootstrapTable的treegrid功能
Jun 16 Javascript
详解vue项目构建与实战
Jun 27 Javascript
AngularJS使用ocLazyLoad实现js延迟加载
Jul 05 Javascript
详解React 在服务端渲染的实现
Nov 16 Javascript
js实现tab栏切换效果
Aug 02 Javascript
微信小程序实现签到功能
Oct 31 #Javascript
vuejs+element UI点击编辑表格某一行时获取内容填入表单的示例
Oct 31 #Javascript
微信小程序实现自动定位功能
Oct 31 #Javascript
iview在vue-cli3如何按需加载的方法
Oct 31 #Javascript
jQuery+PHP实现上传裁剪图片
Jun 29 #jQuery
vue+iview 实现可编辑表格的示例代码
Oct 31 #Javascript
详解vue 项目白屏解决方案
Oct 31 #Javascript
You might like
Json_encode防止汉字转义成unicode的方法
2016/02/25 PHP
YII Framework框架教程之国际化实现方法
2016/03/14 PHP
浅析jQuery1.8的几个小变化
2013/12/10 Javascript
基于JavaScript实现Json数据根据某个字段进行排序
2015/11/24 Javascript
JavaScript事件 &quot;事件对象&quot;的注意要点
2016/01/14 Javascript
BootStrap扔进Django里的方法详解
2016/05/13 Javascript
Javascript 6里的4个新语法
2016/08/25 Javascript
jquery配合.NET实现点击指定绑定数据并且能够一键下载
2016/10/28 Javascript
Vue2.0 http请求以及loading展示实例
2018/03/06 Javascript
Vue 中使用 CSS Modules优雅方法
2018/04/09 Javascript
前端js中的事件循环eventloop机制详解
2019/05/15 Javascript
Js Snowflake(雪花算法)生成随机ID的实现方法
2020/08/26 Javascript
[11:33]DAC2018 4.5SOLO赛决赛 MidOne vs Paparazi第二场
2018/04/06 DOTA
Python对文件和目录进行操作的方法(file对象/os/os.path/shutil 模块)
2017/05/08 Python
python将ansible配置转为json格式实例代码
2017/05/15 Python
致Python初学者 Anaconda入门使用指南完整版
2018/04/05 Python
Python判断两个list是否是父子集关系的实例
2018/05/04 Python
Linux CentOS Python开发环境搭建教程
2018/11/28 Python
python 定时任务去检测服务器端口是否通的实例
2019/01/26 Python
Python生成并下载文件后端代码实例
2020/08/31 Python
你应该知道的30个css选择器
2014/03/19 HTML / CSS
让IE支持HTML5的方法
2012/12/11 HTML / CSS
英国床垫在线:Mattress Online
2016/12/07 全球购物
递归实现回文判断(如:abcdedbca就是回文,判断一个面试者对递归理解的简单程序)
2013/04/28 面试题
高级销售员求职信
2013/10/25 职场文书
个人安全生产承诺书
2014/05/22 职场文书
周一问候语大全
2015/11/10 职场文书
市级三好生竞选稿
2015/11/21 职场文书
信息技术研修心得体会
2016/01/08 职场文书
七年级作文之我的梦想
2019/10/16 职场文书
Netty结合Protobuf进行编解码的方法
2021/06/26 Java/Android
聊聊SpringBoot自动装配的魔力
2021/11/17 Java/Android
浅谈css实现背景颜色半透明的两种方法
2021/12/06 HTML / CSS
20180830晚上第一届KSL半决赛 雨神vs解冻(二龙 三炮解说)
2022/04/01 星际争霸
《英雄联盟》2022日蚀、月蚀皮肤演示 黑潮亚索曝光
2022/04/13 其他游戏
python如何将mat文件转为png
2022/07/15 Python