8.页面初始化input框自动聚焦

1.先说原生的autofocus="autofocus"属性
只在模板加载完成时起作用,也就是说只有第一次有用

<input type="text" autofocus="autofocus"  v-model="code" />

2.这种方式解决了第一种只起一次作用的情况

<input type="text" ref="inputdata"  v-model="code" />
created() {
  this.$nextTick(() => {
     this.$refs.inputdata.focus()
  })
},

3.一进入页面input框不展示,input框显示在隐藏的弹窗中,只有弹窗显示的时候他才显示。
使用自定义指令方式directives:{}

//  需要把element组件输入框改为原生input框
<input type="text" v-model="code" >
//  再给他添加v-if,v-if 与弹窗的 v-show的值绑定在一起
<el-dialog  title="提示" :visible.sync="dialogVisible">
    <input v-focus v-if="dialogVisible" type="text" v-model="code" >
</el-dialog>
<el-button type="text" @click="dialogVisible = true">点击打开 Dialog</el-button>
//  最后编写自定义指令(语法跟created(){}平级)
directives: {
    focus: {
      inserted: function(el) {
        el.focus();
      }
    }
  },


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容