项目需求: el-table带行编辑。
开发中遇到一旦行编辑过多,页面就变得奇卡无比。然后就做了假的输入框代替,后来又遇到需要二次点击才能正常聚焦,客户很不满意。呵呵呵。。。

思路:点击模拟框时自动聚焦

// 在main.js中注册一个全局自定义指令 `v-focus`
Vue.directive('focus', {
  // 当被绑定的元素插入到 DOM 中时……
  inserted: function (el) {
    console.log(7,el)
    // 聚焦元素
    setTimeout(() => {
      console.log(el.querySelector('input'))
      el.focus()
      el.querySelector('input').focus()
    }, 100);
  }
})
 <el-input v-focus />

没问题,输入框自动聚焦了,然后下拉框还是不行。然后网上搜索了一下,使用this.$refs.select.toggleMenu(),确实能自动展出了,但是有多个下拉框就有问题了,错位了image.png

后来参考了vue el-select自动展开和高度设置_automatic-dropdown-CSDN博客
<el-input v-focus :automatic-dropdown="true" />
image.png

终于搞定了,不容易啊,记录下。


一统
57 声望4 粉丝