Vue——render函数在ElementUi中的应用
2018-06-13 22:36
951 查看
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>
实现效果
之后为姓名列添加 :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; }
此时已经可以实现点击表头出现输入框
之后需要为其绑定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) } }阅读更多
相关文章推荐
- Render函数在Vue多页面应用中的应用
- 理解Vue中的Render渲染函数
- Vue-Render函数理解示例
- Vue.js之render函数基础
- Vue中render中的h箭头函数
- vuejs Render 函数
- 开发虚拟演播室,或者需要读出渲染后数据的应用上SDL_RenderSetLogicalSize是个很有用的函数
- 使用的vue、elementUI、vuex、express、mongoDB的单页应用
- vue渲染函数render的使用
- 浅谈Vue render函数在ElementUi中的应用
- vue组件级路由钩子函数介绍,及实际应用
- vue---Vue2.x中的Render函数,render核心函数createElement()
- atan数学函数应用实例
- JavaScript高级函数应用之分时函数实例分析
- Ucenter 第三方应用 同步化 关键函数
- js setTimeout()函数介绍及应用以倒计时为例
- convert()函数应用
- 对于一个频繁使用的短小函数,在C语言中应用什么实现,在C++中应用什么实现?
- MDX语句及函数应用举例
- 2014秋C++ 第11周项目 函数及其应用