浅谈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 相关文章推荐
js创建数据共享接口——简化框架之间相互传值
Oct 23 Javascript
js jquery验证银行卡号信息正则学习
Jan 21 Javascript
js获取多个tagname的节点数组
Sep 22 Javascript
jquery选择checked在ie8普通模式下的问题
Feb 12 Javascript
div失去焦点事件实现思路
Apr 22 Javascript
jquery地址栏链接与a标签链接匹配之特效代码总结
Aug 24 Javascript
实例讲解避免javascript冲突的方法
Jan 03 Javascript
[原创]JQuery 在表单提交之前修改 提交的值
Apr 14 Javascript
jQuery插件ajaxFileUpload异步上传文件
Oct 19 Javascript
微信小程序支付之c#后台实现方法
Oct 19 Javascript
关于Vue单页面骨架屏实践记录
Dec 13 Javascript
使用react+redux实现计数器功能及遇到问题
Jun 02 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
PHP flock 文件锁详细介绍
2012/12/29 PHP
php判断字符串在另一个字符串位置的方法
2014/02/27 PHP
PHP实现向关联数组指定的Key之前插入元素的方法
2017/06/06 PHP
PHP简单实现二维数组赋值与遍历功能示例
2017/10/19 PHP
不要小看注释掉的JS 引起的安全问题
2008/12/27 Javascript
JavaScript中的变量声明早于赋值分析
2012/03/01 Javascript
jQuery 鼠标经过(hover)事件的延时处理示例
2014/04/14 Javascript
node.js中的buffer.fill方法使用说明
2014/12/14 Javascript
JavaScript把数组作为堆栈使用的方法
2015/03/20 Javascript
jQuery绑定自定义事件的魔法升级版
2016/06/30 Javascript
浅谈jQuery为哪般去掉了浏览器检测
2016/08/29 Javascript
JS触摸屏网页版仿app弹窗型滚动列表选择器/日期选择器
2016/10/30 Javascript
漂亮实用的页面loading(加载)封装代码
2017/02/03 Javascript
JavaScript私有变量实例详解
2019/01/24 Javascript
微信小程序实现动态列表项的顺序加载动画
2019/07/25 Javascript
vue+elementUI(el-upload)图片压缩,默认同比例压缩操作
2020/08/10 Javascript
[02:32]DOTA2亚洲邀请赛 VG战队巡礼
2015/02/03 DOTA
python实现进程间通信简单实例
2014/07/23 Python
详解python时间模块中的datetime模块
2016/01/13 Python
Python编码爬坑指南(必看)
2016/06/10 Python
Python Socket实现简单TCP Server/client功能示例
2017/08/05 Python
Python3运算符常见用法分析
2020/02/14 Python
python Matplotlib模块的使用
2020/09/16 Python
python实现扫雷游戏的示例
2020/10/20 Python
HTML5 虚拟键盘出现挡住输入框的解决办法
2017/02/14 HTML / CSS
Footshop法国:购买运动鞋
2020/01/19 全球购物
英国手工制作的现代与经典的沙发和床:Love Your Home
2020/09/26 全球购物
super关键字的用法
2012/04/10 面试题
Java中的异常处理机制的简单原理和应用
2013/04/27 面试题
大学学习个人的自我评价
2014/02/18 职场文书
2014银行授权委托书样本
2014/10/04 职场文书
2014党员整改措施思想汇报
2014/10/07 职场文书
教师党员学习群众路线心得体会
2014/11/04 职场文书
周一给客户的问候语
2015/11/10 职场文书
多人股份制合作协议书
2016/03/19 职场文书
JavaScript实现简单计时器
2021/06/22 Javascript