解决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()
                })
            },
                        

  

posted @ 2019-11-03 11:01  你丫才美工  阅读(5168)  评论(0编辑  收藏  举报