【发布时间】:2022-06-30 21:00:17
【问题描述】:
我有一个常见问题解答的父页面和折叠问答的子组件。但是在常见问题页面上,我们有一个按钮来展开所有常见问题。所以我试图在子组件上调用一个方法,我们将有十几个这样的子组件。但是当我单击查看全部时,它只会打开最后一个子组件。为什么它只击中最后一个组件而不是所有组件?
import CollapsiblePanel from '@/components/CollapsiblePanel';
// Imports
import { ref } from 'vue';
const collapsiblePanelRef = ref();
function expand() {
collapsiblePanelRef.value.expandAll()
}
然后用子引用标记...
<a @click="expand">View All</a>
<CollapsiblePanel ref="collapsiblePanelRef">
<template v-slot:title>
Sample title 1
</template>
<template v-slot:content>
Lorem ipsum 1
</template>
</CollapsiblePanel>
<CollapsiblePanel ref="collapsiblePanelRef">
<template v-slot:title>
Sample title 2
</template>
<template v-slot:content>
Lorem ipsum 2
</template>
</CollapsiblePanel>
那么 CollapsiblePanel 看起来像......
function expandAll() {
isActive.value = true;
}
defineExpose({
expandAll
})
【问题讨论】:
标签: vue.js vuejs3 vue-script-setup