Vue 根据给定 属性 渲染元素
Vue render element based on given property
我有下面的块
<div>
<b-card no-body>
<b-tabs pills card vertical no-key-nav v-model="step">
<b-tab title="Subject" v-for="animal in animals" :key="animal" v-show="animal=1">
<b-card-text>
<enrollment-form>
</enrollment-form>
</b-card-text>
</b-tab>
</b-tabs>
</b-card>
</div>
我只想一次显示一个给定的组件。问题是,我同时呈现所有选项卡。我只是打算使用按钮在输入进入时迭代“步进”。
编辑
Data below
data: () => {
return {
step: 2,
animals: Array(3),
}
},
不要将 v-show
与 v-for
组合在同一元素中并使用比较而不是赋值:
<b-tab title="Subject" v-for="animal in animals" :key="animal" >
<b-card-text v-show="animal==1">
<enrollment-form>
</enrollment-form>
</b-card-text>
</b-tab>
您的数据应该是这样的:
data: () => {
return {
step: 2,
animals: [...Array(3)].map((_,i)=>i+1),
}
},
我有下面的块
<div>
<b-card no-body>
<b-tabs pills card vertical no-key-nav v-model="step">
<b-tab title="Subject" v-for="animal in animals" :key="animal" v-show="animal=1">
<b-card-text>
<enrollment-form>
</enrollment-form>
</b-card-text>
</b-tab>
</b-tabs>
</b-card>
</div>
我只想一次显示一个给定的组件。问题是,我同时呈现所有选项卡。我只是打算使用按钮在输入进入时迭代“步进”。
编辑
Data below
data: () => {
return {
step: 2,
animals: Array(3),
}
},
不要将 v-show
与 v-for
组合在同一元素中并使用比较而不是赋值:
<b-tab title="Subject" v-for="animal in animals" :key="animal" >
<b-card-text v-show="animal==1">
<enrollment-form>
</enrollment-form>
</b-card-text>
</b-tab>
您的数据应该是这样的:
data: () => {
return {
step: 2,
animals: [...Array(3)].map((_,i)=>i+1),
}
},