前提
vue(nuxt)にて複数のボタンが並んでおり、チェックしたらselectedというクラスがつきます。それらは排他関係ではなくチェックボックスのようなイメージで、再度チェックすればそのボタンからはそのクラスがはずれます。すでに実現できているのですが書き方が壮絶にダサいので効率の良い書き方があればしりたいです。
該当のソースコード
<ul class="select-item-list"> <li :class="{'iselected': isActive1}" @click="CheckActive1()"> aaa </li> <li :class="{'selected': isActive2}" @click="CheckActive2()"> bbb </li> <li :class="{'selected': isActive3}" @click="CheckActive3()"> ccc </li> <li :class="{'selected': isActive4}" @click="CheckActive4()"> ddd </li> </ul> 中略 export default { data () { return { CheckActive1: false, CheckActive2: false, CheckActive3: false, CheckActive4: false, } }, methods: { CheckActive1() { this.CheckActive1 = !this.CheckActive1 }, CheckActive2() { this.CheckActive2 = !this.CheckActive2 }, CheckActive3() { this.CheckActive3 = !this.CheckActive3 }, CheckActive4() { this.CheckActive4 = !this.CheckActive4 } } }
実際はもっとボタン数が多くメンテナンス性も悪いので、
できれば数が増えてもメソッドなどいじらない方法で書きたいです。
ご教授お願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/11/13 08:41