vue中dialog弹框弹出时怎么聚焦到相关input的输入框中

    <el-dialog
      title="电机条形码绑定"
      width="40%"
      :visible.sync="checkBarCode"
      :close-on-click-modal="false"
    >
      <el-input
        placeholder="请输入绑定的电机条形码"
        v-model="input"
        clearable
        @keyup.enter.native="findBarCode"
        autofocus=autofocus
        id="inputBarCode"
      ></el-input>

    </el-dialog>

当dialog显示时,光标能够聚焦到input输入框中,autofocus只有第一次有用

阅读 5.8k
4 个回答

可以用this.$nextTick(()=>{

    这里写逻辑!
})

ref获取dom,然后dom.focus()

用 v-if 加 autofocus 就可以吧。

一般这种都是有单击触发的,你也可以试试 手动 focus()


麻了 http://jsrun.net/yJ9Kp/edit。 直接 focus 吧。

监听dialog弹出事件 open ,在 open 回调里面拿 inputref 再设置 focus

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题