2017-02-10 15 views
2

私のコンポーネントは、このようなものです:選択オプションで値を無効にする方法は? (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/

私は "カテゴリ選択" を無効にします。 「カテゴリを選択」は無効になっています。ユーザーは選択できません。ユーザーは「カテゴリの選択」以外の値しか選択できません。

どうすればいいですか?

+0

を使用して、その要素を無効にするだろうか? –

+0

@Adrian Wragg、 "optgroup"とはどういう意味ですか? –

+0

私はあなたがすでに受け入れられた答えを持っているのを見ていますが、 'opt'はオプションのグループの見出しを提供するために' select'タグの中で使うことができます。 –

答えて

3

optionselectタグに直接追加する必要があります。

<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: [] 
    }; 
} 

私はそれがあなたのためにselectplaceholder属性であるため、options配列にこのオプションを追加することはお勧めしません。

ここはworking solutionです。

1

その他のオプションは、私がモバイル上だそう完全な答えを投稿することはできませんが、十分OPTGROUPます結合

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

Working fiddle

関連する問題