当前位置: 首页 > Web前端 > vue.js

VueRender功能表格编辑应用

时间:2023-03-31 17:13:36 vue.js

VueRender功能表格编辑应用前言在之前的版本中,该功能是通过在表格中嵌套span和input来实现的,但是在实际使用过程中,代码会显得特别冗长和繁琐。这时候可以使用render函数来解决这个问题。思路大概是一样的,通过控制它的span和input的可见性,点击后变化的效果来实现。代码部分通过creatElement创建一个divVNode,然后在里面创建span和input的VNode。createElement('el-input',{}),createElement('span',{}),spanVNodedomProps插入基本属性,然后通过attrs赋值,通过class控制showClass属性是否生效。在on中,通过输入法,将input中的值传递给parent,parent将值赋值给当前单元格。blur是隐藏input,让span在input失去焦点时显示。domProps:{value:'',},ref:'input',attrs:{value:this.value},on:{input:(event)=>{this.$emit('input',event)},blur:()=>{this.show='text'this.$emit('refreshTable')},},class:{showClass:this.show!='input',},完整代码外部代码scope.row.date是行数据中cell的数据refreshTable是为了保证每次更新数据的时候都能刷新cell组件代码