解决element组件input框的autofocus只触发一次

<i class="icon iconfont icon-edit-p" v-if="!editAtlasBool" @click="showInput"></i>
<el-input v-if="editAtlasBool" :placeholder="newAtlasName" ref="atlas-name-input" v-model="atlasName"  maxlength="20" @blur="atlasBlur(atlasName)"></el-input>
<i class="icon iconfont icon-edit-p" v-if="!editAtlasBool" @click="showInput"></i>

现在的需求是当点击icon图标的时候input框 与span标签切换显示,默认input框显示的时候需要自动获取焦点,首次点击icon是可以的 后面再次切换就不行,原先是在el-input标签上面添加了autofocus属性

可以使用原生的focus事件自动触发

        showInput(){
                this.editAtlasBool = true
                this.$nextTick(()=>{ //自动获取焦点 element组件autofocus失效
                    this.$refs['atlas-name-input'].$refs.input.focus()
                })
            },
                        

  

原文地址:https://www.cnblogs.com/tw6668/p/11785435.html