如何禁用选择选项上的值?(vue.js 2)

mos*_*toh 3 javascript jquery vue.js vue-component vuejs2

我的组件是这样的:

<div id="demo">
  <div>
    <select class="form-control" v-model="selected" required>
      <option v-for="option in options" v-bind:value="option.id">{{ option.name }}</option>
    </select>
    {{selected}}
  </div>
</div>

var demo = new Vue({
  ...
  data() {
    return {
      selected: '',
      options: [{
        id: '',
        name: 'Select Category'
      }]
    };
  },
  ...
})
Run Code Online (Sandbox Code Playgroud)

在此处查看完整的代码和演示:https : //fiddle.jshell.net/oscar11/stvct9er/5/

我要禁用“选择类别”。因此,“选择类别”已禁用。用户无法选择它。用户只能选择“选择类别”以外的其他值。

我该怎么做?

Mih*_*nut 7

您应该option直接在select标签中添加。

<select class="form-control" v-model="selected" required>
  <option value="" disabled>Select a category</option>
  <option v-for="option in options" v-bind:value="option.id">{{ option.name }}</option>
</select>
Run Code Online (Sandbox Code Playgroud)

另外,将其从data功能中删除。

data() {
  return {
    selected: '',
    options: []
  };
}
Run Code Online (Sandbox Code Playgroud)

我不建议您在options数组中添加此选项,因为它是placeholder您的属性select

这是工作解决方案


Ald*_*o88 7

另一种选择是使用绑定禁用该元素

  <option v-for="option in options" :disabled="!option.id"  v-bind:value="option.id">{{ option.name }}</option>
Run Code Online (Sandbox Code Playgroud)

工作提琴