前提・実現したいこと
タブ「予約について」で「予約の質問2」を開き、タブ「ログインについて」を選択すると全ての質問が閉じている状態にしたい。
発生している問題・エラーメッセージ
タブ「予約について」の「予約の質問2」を開いた状態で、タブ「ログインについて」を選択すると同じ行の「IDを忘れた」が開かれてしまいます。逆に片方を閉じるともう片方も閉じます。
該当のソースコード
HTML
1<div class="cp_qa"> 2 <!-- タブ --> 3 <div class="cp_tabAll"> 4 <div class="cp_tab" v-for="tab in tabList" v-on:click.prevent="tabSwitching(tab)" style="display:inline-block"> 5 <input class="tId"type="radio" name="tabs" > 6 <label class="tFor cp_tabitem">{{tab.categoryName}}</label> 7 </div> 8 </div> 9 <!-- /タブ --> 10 11 <!-- アコーディオン --> 12 <div> 13 <div class="uk-accordion" data-uk-accordion="showfirst: false" v-for="(list,index) in questionList" v-bind:key="index"> 14 <h3 @click="iconChange(index)" class="uk-accordion-title uk-text-bold">{{list.question}} 15 <span v-bind:id="index" class="accordion-icon uk-float-left uk-icon-plus uk-icon-remove"></span> 16 </h3> 17 <div class="uk-accordion-content">{{list.answer}}</div> 18 </div> 19 </div> 20 <!--/アコーディオン --> 21</div>
試したこと
おそらく原因は同じ<div>を使っていて、Listの中身だけを変えている事だと思います。
下はデベロッパーツールで確認した画像です。
アコーディオンを開くと、uk-active
が付きaria-expanded
がTrueになるので、タブ切り替え時にuk-active
を消しaria-expanded
をFalseにしようと.jsでDOM操作をしてみましたがうまくいきませんでした。
おそらく根本的に書き方が間違っていると思うので、ご教授お願い致します。
補足情報(FW/ツールのバージョンなど)
回答1件
あなたの回答
tips
プレビュー