我创建了一个菜单来选择报告的不同部分。为此,使用v-for创建按钮。单击按钮时,所选部分将显示在网页上。
我使用Vuetify中的“ flat”类突出显示(或不突出显示)活动部分。为此,我检查了按钮是否与显示的选定部分匹配=>如果不匹配(不活动),则使用“扁平”类;如果是(活动),则使用普通按钮。
Vue组件
<v-btn
v-for="section in this.$store.state.report"
:key="section.sectionName"
:flat="isSectionActive(section)"
@click="selectSection(section)"
>
{{ section.sectionName }}
</v-btn>
Vue方法
methods: {
selectSection (section) {
this.$store.commit('setSelectedSection', section)
},
isSectionActive (section) {
return this.$store.state.selectedSection != section
}
}
我注意到页面刷新时不再进行检查(即所有按钮都被视为“未激活”),我也不明白为什么。
有什么想法吗?
请注意,vuex状态通过“ vuex-persistedstate”保留在本地存储中(即状态在刷新时不会丢失)。
感谢您的帮助。