el-select 如何用 指令 做自动聚焦并触发下拉?

名字
  • 286
广东

el-select 如何用 指令 做自动聚焦并触发下拉,
直接写 我知道可以用这个触发this.$refs.select.toggleMenu()
用指令怎么写,想请教下

回复
阅读 1.1k
2 个回答
杨军军
  • 1.2k
北京
✓ 已被采纳

代码如下(在线:https://stackblitz.com/edit/v...
看一下源码时怎么触发 toggleMenu 方法的,就是 click 事件,https://github.com/ElemeFE/el...

<template>
  <div>
    <el-select v-focus v-model="value" placeholder="请选择">
      <el-option
        v-for="item in options"
        :key="item.value"
        :label="item.label"
        :value="item.value"
      >
      </el-option>
    </el-select>
  </div>
</template>

<script>
const focus = {
  inserted: (el) => {
    el.click();
  },
};
export default {
  directives: {
    focus,
  },
  data() {
    return {
      options: [
        {
          value: '选项1',
          label: '黄金糕',
        },
        {
          value: '选项2',
          label: '双皮奶',
        },
        {
          value: '选项3',
          label: '蚵仔煎',
        },
        {
          value: '选项4',
          label: '龙须面',
        },
        {
          value: '选项5',
          label: '北京烤鸭',
        },
      ],
      value: '',
    };
  },
};
</script>
···
Vue.directive('dev', (el, binding) => {
     el.querySelector("input").focus();
})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏