首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vuetify根据状态加载组件

Vuetify根据状态加载组件
EN

Stack Overflow用户
提问于 2020-04-17 03:48:11
回答 1查看 595关注 0票数 0

我正在使用vuetify。有4个步骤,每个步骤都有自己的组件。每个组件都会在已挂载的组件上触发一个axios调用。我试图实现的是基于步进器的步骤来挂载一个组件。我该如何创建它呢?

代码语言:javascript
复制
<template>

    <v-stepper v-model="state"
               vertical
               non-linear>

        <v-stepper-step editable :complete="state > 1"
                        step="1">
            General
        </v-stepper-step>

        <v-stepper-content step="1">
            <generalBooks :url="url"
                          />
            <v-btn color="primary" @click="state = 2">Continue</v-btn>
            <v-btn text>Cancel</v-btn>
        </v-stepper-content>

....

<template>

<script>
  export default{
    data: () => ({ state: 1 })
}
</script>
EN

回答 1

Stack Overflow用户

发布于 2020-11-08 16:17:58

简单的方法是将v-if放在元件标签上,以检查state是否等于元件步骤

代码语言:javascript
复制
<v-stepper-content step="1">
  <generalBooks v-if="state >= 1" :url="url" />

但是通过这种方式,当客户端返回到较低的步骤时,组件再次重新呈现,另一种方法是通过statewatch来检查步骤并将加载的组件名称保存在数组中,并在v-if中重新检查具有当前组件名称的数组,或者保存最高状态客户端监视的组件,以便组件网络已经加载

代码语言:javascript
复制
<v-stepper-content step="1">
  <generalBooks v-if="highestState >= 1" :url="url" />
代码语言:javascript
复制
data(){
  state: 1,
  highestState: 1,
},
watch: {
  state(val){
    if(val > this.highestState) this.highestState = val;
  },
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61258855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档