前提・実現したいこと
①ボタン要素をジグザクに二行で表示し、x軸方向にスクロールしたいと考えています。
②それらのボタンが押されているものを保持し、
③押されていたら、色付けする
自分のCodePen
https://codepen.io/momochi/pen/LYZBLBZ
以上、3点が機能すれば、大きく仕様を変えても構いません。
例えば、
①を実現するために、配列を無理やり二重配列にしていますが、一重のまま①ができれば、その他はうまく機能すると思います。
result_list:[["a","b"],["c","d"],["e","f"],["g","h"],["i","j"]] ↓ result_list:["a","b","c","d","e","f","g","h","i","j"]
よろしくお願いいたします。
発生している問題・エラーメッセージ
①、②は無理やりですが、自力でできました。
③が出来なくて詰まっています。
v-btn-toggleでcolor="deep-purple accent-3"のようにすると選択されているものが色付けされるのですが、
①を実現するために無理やり2要素づつdivで囲っているので、うまく機能しないようです。
(参考)
・公式リファレンス https://vuetifyjs.com/en/components/button-groups/#usage
・公式CodePen https://codepen.io/pen/?editors=1010
(CodePenのTextOptionsのように色付けされてほしいです)
html
1<div id="app"> 2 <v-app> 3 <div class="forecast-outline mt-3"> 4 <v-btn-toggle v-model="selected" multiple group> 5 <div 6 v-for="two_items in result_list" 7 :key="`${two_items[0]}_${two_items[1]}`" 8 > 9 <v-btn 10 v-for="item in two_items" 11 :key="item" 12 x-large 13 height="68" 14 class="mb-2 mr-2 text-center align-center forecast-card" 15 :value="item" 16 > 17 {{item}} 18 </v-btn> 19 </div> 20 </v-btn-toggle> 21 </div> 22 {{selected}} 23 </v-app> 24</div>
css
1 2.forecast-outline { 3 width: 90%; 4 height: 160px; 5 margin: auto; 6 outline: dashed 2px black; 7 padding: 8px; 8 overflow-x: scroll; 9 10 display: flex; 11} 12.forecast-inlinebox > div{ 13 /* forecast-cardの横幅 + 隙間(ml-2(8px)) */ 14 width: 208px; 15} 16.forecast-card{ 17 width: 200px; 18}
javascript
1new Vue({ 2 el: '#app', 3 vuetify: new Vuetify(), 4 data () { 5 return { 6 selected:[], 7 result_list:[["a","b"],["c","d"],["e","f"],["g","h"],["i","j"]] 8 } 9 }, 10 methods:{ 11 } 12})
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/06 23:59