javascript - 如何通过单击选项卡本身以外的其他内容来切换 VueJS Vuetify 中的选项卡
问题描述
我有这个 codePen:https ://codepen.io/anon/pen/KBNddq?&editors=101
我添加了一个星形按钮,所以当它点击时,您会收到警报。
我需要的是,当我单击星号时,我希望选项卡和选项卡视图一样更改。
有任何想法吗 ?
<div id="app">
<v-app id="inspire">
<div>
<v-toolbar color="cyan" dark tabs>
<v-toolbar-side-icon></v-toolbar-side-icon>
<v-toolbar-title>Page title</v-toolbar-title>
<v-spacer></v-spacer>
<v-btn icon>
<v-icon>search</v-icon>
</v-btn>
<v-btn icon>
<v-icon>more_vert</v-icon>
</v-btn>
<v-tabs slot="extension" v-model="model" centered color="cyan" slider-color="yellow">
<v-tab v-for="i in 3" :key="i" :href="`#tab-${i}`">
Item {{ i }}
</v-tab>
</v-tabs>
</v-toolbar>
<v-tabs-items v-model="model">
<v-tab-item v-for="i in 3" :id="`tab-${i}`" :key="i">
<v-card flat>
<v-card-text v-text="text"></v-card-text>
<v-btn @click.stop="changeTab" icon>
<v-icon large color="blue">grade</v-icon>
</v-btn>
</v-card>
</v-tab-item>
</v-tabs-items>
</div>
</v-app>
</div>
解决方案
你可以尝试这样的事情:
new Vue({
el: '#app',
data () {
return {
i: 0, // set i to track the tab index
model: 'tab-2',
text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.'
}
},
methods: {
changeTab(){
//update the index and model
this.i = (this.i + 1) % 3
this.model = `tab-${this.i+1}`
alert("Changing tab")
}
}
})
推荐阅读
- visual-studio-code - 如何在 VS Code 中获取 WebStorm 代码格式
- html - 防止图标的SVG背景出血?
- c - 如何创建以 FILE* 作为其标准输入、标准输出或标准错误的子进程?
- java - 在 Java 中使用带有继承的最终列表
- java - 生日问题,平均人数
- javascript - 为什么“this.getAttribute()”返回 null?
- flutter - Flutter Circular Avatar 不支持 Image from storage
- angular - 带有 Ngrx 的过滤管无法正常工作
- python - 从数据框中更改列名
- c - 尝试初始化可变大小字符串的动态数组时出现总线错误