dialog input

auto focus

by xie shine

HTML

<script src="//unpkg.com/vue/dist/vue.js"></script>
<script src="//unpkg.com/[email protected]/lib/index.js"></script>
<div id="app">
<el-button type="text" @click="dialogVisible = true">点击打开 Dialog</el-button>

<el-dialog ref="dialog" title="提示" :visible.sync="dialogVisible" size="tiny">
  <el-input placeholder="请输入内容"></el-input>
  <span slot="footer" class="dialog-footer">
    <el-button @click="dialogVisible = false">取 消</el-button>
    <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
  </span>
</el-dialog>
</div>

CSS

@import url("//unpkg.com/[email protected]/lib/theme-default/index.css");

JavaScript

var Main = {
    data() {
      return {
        dialogVisible: false
      };
    },
  mounted(){
    //auto-focus属性只会第一次打开dialog有效!
    this.$refs.dialog.open = ()=>{
      this.$nextTick(()=>{
        this.$refs.dialog.$el.querySelector("input").focus();
      })
    }
  }
  };
var Ctor = Vue.extend(Main)
new Ctor().$mount('#app')