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

How to disable value on the select option ? (vue.js 2)

我的组件是这样的:

<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'
      }]
    };
  },
  ...
})

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

我想禁用 "Select Category"。所以 "Select category" 禁用。用户不能 select 它。用户只能选择 "Select Category" 以外的值。

我该怎么做?

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

<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>

此外,将其从 data 函数中删除。

data() {
  return {
    selected: '',
    options: []
  };
}

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

placeholder 属性

其他选项可能是使用绑定禁用该元素

<option v-for="option in options" 
        :disabled="!option.id"
        v-bind:value="option.id">
    {{ option.name }}
</option>