Vue - 如何修改此代码以便不显示新选择?
Vue - How modify this code so not new selects shows up?
这个fiddle几乎有我想要的一切:
http://jsfiddle.net/jjpfvx5q/1/
但是我只想显示第一个子 select。
至于现在,如果您首先 select 主 select 中的第一项和出现的子 select 中的某些内容,然后返回主 select 第二个选项,那么新的第三个 selectbox 出现了。
我不希望发生这种情况。我只想有一个主要 select 和第二个根据第一个中的选择填充。所以只有这两个,不管我从主那里重新select多少次。
I am new to Vue and find it hard to see where to make that change.
问题是,当您 select 一个城市时,您会将相同的城市推入 cityPacks 数组。无论存在与否,执行此操作。根据新数据填充新的 select 框。
简单地说,您可以在 switch 语句之前清空 cityPacks 数组。
this.cityPacks = [];
@Tugayİlik 的回答是正确的,但如果您想在 cityPacks
中保留 'history' 使用 select 离子,您可以添加 v-if
第二个 select
v-if="index === coInit.map(co => co.id).indexOf(country)"
根据应用的意图,您可能还可以对数据结构进行一些其他优化。例如,不清楚为什么要使用 getCities
方法而不只是将城市嵌套在 coInit
数组中(以及为什么需要使用 setTimeout
)。
您也可以使用 coumputed
获取第二个 select
的城市
computed: {
cities() {
return this.country ?
? this.country === 2 ? this.cFrance
? this.country === 3 ? this.cUSA
: []
}
},
这个fiddle几乎有我想要的一切:
http://jsfiddle.net/jjpfvx5q/1/
但是我只想显示第一个子 select。 至于现在,如果您首先 select 主 select 中的第一项和出现的子 select 中的某些内容,然后返回主 select 第二个选项,那么新的第三个 selectbox 出现了。
我不希望发生这种情况。我只想有一个主要 select 和第二个根据第一个中的选择填充。所以只有这两个,不管我从主那里重新select多少次。
I am new to Vue and find it hard to see where to make that change.
问题是,当您 select 一个城市时,您会将相同的城市推入 cityPacks 数组。无论存在与否,执行此操作。根据新数据填充新的 select 框。
简单地说,您可以在 switch 语句之前清空 cityPacks 数组。
this.cityPacks = [];
@Tugayİlik 的回答是正确的,但如果您想在 cityPacks
中保留 'history' 使用 select 离子,您可以添加 v-if
第二个 select
v-if="index === coInit.map(co => co.id).indexOf(country)"
根据应用的意图,您可能还可以对数据结构进行一些其他优化。例如,不清楚为什么要使用 getCities
方法而不只是将城市嵌套在 coInit
数组中(以及为什么需要使用 setTimeout
)。
您也可以使用 coumputed
获取第二个 select
computed: {
cities() {
return this.country ?
? this.country === 2 ? this.cFrance
? this.country === 3 ? this.cUSA
: []
}
},