質問内容
Vuetify の v-select コンポーネントで色の一覧のプルダウンメニューの横にそれに対応した色付きの四角いボックスを表示したいです。
CSS でボックスを作りましたが、現状は背景色が固定されています。
これを red
なら赤色のボックス、green
なら青色のボックスといったようにアイテム内容に応じた色にしたいのですが、やり方を教えていただけないでしょうか。
「色の名前に対応した色付きの四角いボックスを左に表示したい」というのが目的のため、下記コード以外の方法でも大丈夫です。
よろしくおねがいします。
コード
動作コードは CodePen に置きました。
html
1<div id="app" style="max-width: 300px;"> 2 <v-app> 3 <v-select :items="items"> 4 <!-- 選択したアイテムの表示 --> 5 <template slot="selection" slot-scope="data"> 6 <span>{{ data.item }}</span> 7 </template> 8 <!-- アイテム一覧の表示 --> 9 <template slot="item" slot-scope="data"> 10 <span>{{ data.item }}</span> 11 </template> 12 </v-select> 13 </v-app> 14</div>
css
1span { 2 position: relative; 3 padding-left: 25px; 4} 5 6span:before { 7 position: absolute; 8 content: ""; 9 width: 15px; 10 height: 15px; 11 top: 0; 12 left: 0; 13 background-color: green; // ここを可変にしたい 14}
js
1new Vue({ 2 el: "#app", 3 vuetify: new Vuetify(), 4 data() { 5 return { 6 items: ["red", "green", "blue"] 7 }; 8 } 9}); 10
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/01 04:55