浅谈Vue render函数在ElementUi中的应用


Posted in Javascript onSeptember 06, 2018

vue的render函数在日常开发中被广泛应用,今天以ElementUI中的table表头重构为引,实际应用一下借助render函数实现表头搜索,不足之处请多多指教!

首先引入官方demo

<el-table :data="tableData" style="width: 100%" :border="true">
 <el-table-column prop="date" label="日期" min-width="20%" align="center">
 </el-table-column>
 <el-table-column prop="name" label="姓名" min-width="60%" align="center">
 </el-table-column>
 <el-table-column prop="address" label="地址" align="center">
 </el-table-column>
</el-table>

实现效果

浅谈Vue render函数在ElementUi中的应用

之后为姓名列添加 :render-header=”renderHeader” 绑定render函数

<el-table-column :render-header="renderHeader" prop="name" label="姓名" min-width="60%" align="center" >
</el-table-column>

在methods中实现renderHeader方法

methods: {
 renderHeader (createElement) {
  let self = this
  return createElement('div', {
  domProps: {
   innerHTML: `
    <span class="span">姓名</span>
    <input type="text" class="input">
    `
  },
  style: {
   padding: '0',
   lineHeight: '1',
   marginTop: '5px',
   width: '100%'
  },
  on: {
   '!click': function (e) {
   let span = document.getElementsByClassName('span')[0]
   let input = document.getElementsByClassName('input')[0]
   span.style.display = 'none'
   input.style.display = 'inline-block'
   input.focus()
   event.stopPropagation()
   }
  }
  })
 }
 },

在less文件中配合实现DOM的展示和隐藏

.span {
  display: inline-block;
}
.input {
  display: none;
}

此时已经可以实现点击表头出现输入框

浅谈Vue render函数在ElementUi中的应用

之后需要为其绑定input事件

on: {
 '!click': function (e) {
 let span = document.getElementsByClassName('span')[0]
 let input = document.getElementsByClassName('input')[0]
 span.style.display = 'none'
 input.style.display = 'inline-block'
 input.focus()
 event.stopPropagation()
 },
 input: function (event) {
  self.inputValue = event.target.value // 在data中定义inputValue
 }
}

之后我们就可以监听data中的inputValue,实现一些列业务逻辑

watch: {
 inputValue: function () {
  console.log(this.inputValue)
 }
 }

以上这篇浅谈Vue render函数在ElementUi中的应用就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Jquery 组合form元素为json格式,asp.net反序列化
Jul 09 Javascript
利用JS来控制键盘的上下左右键(示例代码)
Dec 14 Javascript
解析jQuery的三种bind/One/Live事件绑定使用方法
Dec 30 Javascript
JS控制表格实现一条光线流动分割行的方法
Mar 09 Javascript
使用AngularJS 应用访问 Android 手机的图片库
Mar 24 Javascript
JavaScript将当前时间转换成UTC标准时间的方法
Apr 06 Javascript
js控制网页前进和后退的方法
Jun 08 Javascript
关于angularJs清除浏览器缓存的方法
Nov 28 Javascript
vue下history模式刷新后404错误解决方法
Aug 18 Javascript
微信小程序时间戳转日期的详解
Apr 30 Javascript
小程序外卖订单界面的示例代码
Dec 30 Javascript
javascript实现的图片预览和上传功能示例【兼容IE 9】
May 01 Javascript
解决vue同一slot在组件中渲染多次的问题
Sep 06 #Javascript
vue template中slot-scope/scope的使用方法
Sep 06 #Javascript
vue-cli 默认路由再子路由选中下的选中状态问题及解决代码
Sep 06 #Javascript
jQuery实现鼠标移入移出事件切换功能示例
Sep 06 #jQuery
Vue下拉框回显并默认选中随机问题
Sep 06 #Javascript
vue兄弟组件传递数据的实例
Sep 06 #Javascript
webpack4简单入门实例
Sep 06 #Javascript
You might like
浅谈tudou土豆网首页图片延迟加载的效果
2010/06/23 Javascript
关于jquery append() html时的小问题的解决方法
2010/12/16 Javascript
关于jquery css的使用介绍
2013/04/18 Javascript
jquery css 设置table的奇偶行背景色示例
2014/06/03 Javascript
js实现进度条的方法
2015/02/13 Javascript
深入理解JavaScript系列(37):设计模式之享元模式详解
2015/03/04 Javascript
JavaScript控制图片加载完成后调用回调函数的方法
2015/03/20 Javascript
setTimeout内不支持jquery的选择器的解决方案
2015/04/28 Javascript
在JavaScript中处理数组之reverse()方法的使用
2015/06/09 Javascript
JavaScript对数组进行随机重排的方法
2015/07/22 Javascript
Vue组件之自定义事件的功能图解
2018/02/01 Javascript
微信小程序日期选择器实例代码
2018/07/18 Javascript
详解vue-router传参的两种方式
2018/09/10 Javascript
Vue页面跳转动画效果的实现方法
2018/09/23 Javascript
vue学习之Vue-Router用法实例分析
2020/01/06 Javascript
[10:49]2014国际邀请赛 叨叨刀塔第二期为真正的电竞喝彩
2014/07/21 DOTA
Python MySQLdb 使用utf-8 编码插入中文数据问题
2018/03/13 Python
python操作excel的包(openpyxl、xlsxwriter)
2018/06/11 Python
python3实现网络爬虫之BeautifulSoup使用详解
2018/12/19 Python
python图形工具turtle绘制国际象棋棋盘
2019/05/23 Python
详解Python中的测试工具
2019/06/09 Python
python开根号实例讲解
2020/08/30 Python
Python3.8.2安装包及安装教程图文详解(附安装包)
2020/11/28 Python
div或img图片高度随宽度自适应的方法
2020/02/06 HTML / CSS
Oracle性能调优原则
2012/05/03 面试题
中专自我鉴定范文
2013/10/16 职场文书
开办饭店创业计划书
2013/12/28 职场文书
入党转预备思想汇报
2014/01/07 职场文书
班班通项目实施方案
2014/02/25 职场文书
安踏广告词改编版
2014/03/21 职场文书
超市开业庆典活动策划方案
2014/09/15 职场文书
教师党的群众路线教育实践活动个人整改措施
2014/11/04 职场文书
城管年度个人总结
2015/02/28 职场文书
幼儿园校车安全责任书
2015/05/08 职场文书
利用Nginx代理如何解决前端跨域问题详析
2021/04/02 Servers
JS轻量级函数式编程实现XDM二
2022/06/16 Javascript