用的iview框架,我想实现一个点击按钮,触发Input的自动获取焦点的功能,关键代码如下:
render: (h, params) => {
if(params.index == this.editIndex){ //渲染Input组件
return h('Input', {
props: {
value: params.row.name,
autofocus: true // iview Input组件,自动获取焦点参数
},
on: {
"on-focus": (e) => { //每次点击input的时候可以选中文本
this.editIndexText = params.row.name
e.srcElement.select();
},
"on-blur": (e) => { //修改index值,渲染文本
this.editIndex = -1;
console.log(e)
},
"on-keyup": (e) => {
console.log(e)
if(e.code == "Enter"){
this.editIndex = -1;
}
}
}
}, params.row.name)
}else{ //渲染文本
return h('p', params.row.name)
}
点击修改时,render渲染Input组件,自动获取焦点,但是实现效果,只有第一次显示。
原因是为什么,有解决方案么。。。研究好久了。。。求大神告知....
原因未知,
使用ref 指定 Input ,点击修改的使用 $nextTick 可以解决