Vue.js Vue-如何修改此代码以避免出现新选择?

Vue.js Vue-如何修改此代码以避免出现新选择?,vue.js,element-ui,Vue.js,Element Ui,这把小提琴几乎是我想要的全部: 但是,我只希望出现第一个子选择。 现在,如果您首先在主选择中选择第一个项目,然后从子选择中选择所需的内容,然后返回主选择并选择第二个选项,则会出现新的第三个选择框 我不想那样。我只想有一个主选择,第二个根据第一个选择填充。所以就这两个,不管我从主选项中重新选择了多少次 I am new to Vue and find it hard to see where to make that change. 问题是,当您选择一个城市时,您正在将相同的城市推送到City

这把小提琴几乎是我想要的全部:

但是,我只希望出现第一个子选择。 现在,如果您首先在主选择中选择第一个项目,然后从子选择中选择所需的内容,然后返回主选择并选择第二个选项,则会出现新的第三个选择框

我不想那样。我只想有一个主选择,第二个根据第一个选择填充。所以就这两个,不管我从主选项中重新选择了多少次

I am new to Vue and find it hard to see where to make that change.

问题是,当您选择一个城市时,您正在将相同的城市推送到CityPack数组中。无论存在与否,执行此操作。根据新数据填充新的选择框

简单地说,您可以在switch语句之前清空cityPacks数组

this.cityPacks = [];

@Tugayİlik的回答是正确的,但如果您想在
CityPack
中保留使用选择的“历史记录”,可以在第二个选择中添加
v-if

v-if=“index==coInit.map(co=>co.id).indexOf(国家)”
根据应用程序的意图,您可能还可以对数据结构进行其他一些优化。例如,不清楚为什么要使用
getCities
方法,而不仅仅是将城市嵌套在
coInit
数组中(以及为什么需要使用
setTimeout

您还可以使用
计算机
获取第二次选择的城市

计算:{
城市(){
返回这个国家?
?this.country==2?this.cFrance
?this.country==3?this.cUSA
: []
}
},

漂亮。谢谢!:)