巡查列表:根据活动路线打开分组

时间:2019-06-29 22:13:25

标签: vue.js vuejs2 vue-router vuetify.js

让我们假设我有一个带有2个v-list-group的Vuetify列表,每个列表都包含一个v-list-tile。这是一个简化的伪代码:

 - Group1
   - Item 1 :to='/item1'
 - Group2
   - Item 2 :to='/item2'

我的列表运行正常:如果单击“ Item1”,则vue-router转到“ / item1”。

相反,当我转到某个路线“ / item1”(例如通过键入URL)并且Group1在列表中关闭时,是否可以使Group1在列表中自动打开?

我是否必须监视路线并使用v-list-group.value设置开放组,还是Vuetify有自动执行此操作的功能?

1 个答案:

答案 0 :(得分:0)

这是我使用路线监视的解决方案:https://codesandbox.io/s/vuetify-router-template-0176-vy766(基于丹尼尔的代码)。

最有趣的部分在Nav.vue中:`

watch: {
  $route(to, from) {
    if (to.matched.length > 1) {
      const parent = to.matched.filter(m => !m.parent)[0];
      const route = routes.filter(route => route.name === parent.name)[0];
      route.active = true;
    }
  }
}