多分簡単な質問ですが、基本的なラッパーコンポーネントを作成する正しい方法を見つけることができません。たとえば、私はこのような選択があります。VueJS 2.4基本ラッパーコンポーネント
<select v-model="foo" name="bar" v-validate="'required'" v-bind:class="{ invalid: errors.has('bar') }">
<option value="">Default</option>
<option value="1">Value 1</option>
<option value="2">Value 2</option>
</select>
を私はクラスcustom-select
でこのarroundのいくつかの砂糖、div
を追加する必要があります。だから私は、ネイティブをラップするcustom-select
コンポーネントを作成している選択:
Vue.component('custom-select', {
template: `
<div class="custom-select">
<select v-on="$listeners" v-bind="$props">
<slot></slot>
</select>
</div>
`,
});
私の問題は私のコンポーネントがv-model
とclass
などの小道具を継承していないということです。私はグローバルな方法があるかどうか、コンポーネントのすべての小道具を書き換えずにすべてを継承させることができるかどうかを知りたいですか?
おかげ
をあなたのカスタムコンポーネントがスロットとして選択を取るようにしたいかもしれません。いずれにしても、「vモデル」は支柱ではなく、それを階層の下で直接プロキシする方法はありません。 –