单击带有空选项的vue选择时,如何处理挂起的选项“对不起,没有匹配的选项”?

时间:2019-01-22 02:28:27

标签: vue.js

我使用vue-select创建选择选项。但是,我对vue-select为空时的行为有疑问,它显示消息“对不起,没有匹配的选项”。

HTML代码:

<div id="app">
  <h1>Vue Select - Custom Labels</h1>
  <v-select label="countryName" :options="options"></v-select>
</div>

CSS代码:

body {
    font-family: 'Source Sans Pro', 'Helvetica Neue', Arial, sans-serif;
}

h1 {
  font-size: 26px;
  font-weight: 600;
  color: #2c3e5099;
  text-rendering: optimizelegibility;
  -moz-osx-font-smoothing: grayscale;
  -moz-text-size-adjust: none;
}

#app {
  max-width: 30em;
  margin: 1em auto;
}

JS代码:

Vue.component("v-select", VueSelect.VueSelect);

new Vue({
  el: "#app",
  data: {
    options: null
  }
});

https://codepen.io/sagalbot/pen/aEjLPB

制作数据,选项:空

该下拉列表将显示消息“对不起,没有匹配的选项”。 单击该选项,下拉选择项将挂起。

我希望当选择“对不起,没有选项匹配”时,下拉菜单将关闭。

1 个答案:

答案 0 :(得分:0)

vue-select允许使用插槽,我在此codepen

中找到了插槽列表

因此,您可以将插槽用于找到的无选项,并在使用ref$refs单击该元素时关闭选择。我在此github issue

中找到了有关如何关闭v-select的更多信息
<v-select ref="select">
  <span slot="no-options" @click="$refs.select.open = false">
    Sorry, no matching options
  </span>
</v-select>