【发布时间】:2021-11-09 15:59:10
【问题描述】:
我想创建一个简单的手风琴式结构,但不知何故我无法切换单个元素:
<div v-for="qa, j in group.questions_answers" :key="j">
<div class="question" @click="toggle()" > <!-- use index here? -->
<span v-if="itemOpen" class="font-iconmoon icon-accordion-up"><span/>
<span v-else class="font-iconmoon icon-accordion-down"><span/>
<span class="q-text" v-html="qa.question"><span/>
</div>
<div v-if="itemOpen" class="answer" v-html="qa.answer"></div>
</div>
我将如何切换各个问题/答案块?我需要使用 refs 吗?
目前我可以切换所有元素...
export default {
data() {
return {
itemOpen: true
}
},
methods: {
toggle() { // index
this.itemOpen = !this.itemOpen
}
}
}
我可以起草一个 Q/A 组件,然后在每个组件内部进行切换,但我认为这样做有点过头了。
更新我正在处理以下数据结构:
{
"intro_text": "intro text",
"questions_groups": [
{
"group_heading": "heading",
"questions_answers": [
{
"question": "Question",
"answer": "Answer"
},
{
"question": "Question",
"answer": "Answer"
},
{
"question": "Question",
"answer": "Answer"
},
{
"question": "Question",
"answer": "Answer"
},
{...}
]
},
{
"group_heading": "heading 1",
"questions_answers": [
{
"question": "Question",
"answer": "Answer"
},
{
"question": "Question",
"answer": "Answer"
},
{
"question": "Question",
"answer": "Answer"
},
{
"question": "Question",
"answer": "Answer"
},
{...}
},
{
"group_heading": "heading 2",
"questions_answers": [
{
"question": "Question",
"answer": "Answer"
},
{
"question": "Question",
"answer": "Answer"
},
{
"question": "Question",
"answer": "Answer"
},
{
"question": "Question",
"answer": "Answer"
}
{...}
]
}
]
}
【问题讨论】:
-
我想我可以使用索引做类似的事情:stackoverflow.com/questions/60902395/…
标签: javascript nuxt.js nuxtjs2