Vuejs2 VueJS:如何让第一个表单选择输入决定在第二个选择输入中显示什么?
我有一个有两个选择输入的表单。用户在第一个选择输入(Vuejs2 VueJS:如何让第一个表单选择输入决定在第二个选择输入中显示什么?,vuejs2,Vuejs2,我有一个有两个选择输入的表单。用户在第一个选择输入(product\u id)中选择的内容将决定在第二个选择输入中显示哪些选项。作为JavaScript的新手,我正在为如何在我的Vue应用程序中为此编写逻辑而苦苦挣扎 让我解释一下……(同时) 我有两个数据阵列: 产品: 主题: 表单模板: 有人有什么建议或解决办法吗?多谢各位 我的生活一些问题: subject中的对象包含product\u ids,但是您的v-model绑定到subject.subject\u id(不存在) 计算属性的名称表
product\u id
)中选择的内容将决定在第二个选择输入中显示哪些选项。作为JavaScript的新手,我正在为如何在我的Vue应用程序中为此编写逻辑而苦苦挣扎
让我解释一下……(同时)
我有两个数据阵列:
产品:
主题:
表单模板:
有人有什么建议或解决办法吗?多谢各位
我的生活一些问题:
subject
中的对象包含product\u id
s,但是您的v-model
绑定到subject.subject\u id
(不存在)过滤器()
完成,如下所示:showRelatedSubc(){
返回此.subjects.filter(
subject=>this.form.product===subject.product\u id
);
}
几个问题:
subject
中的对象包含product\u id
s,但是您的v-model
绑定到subject.subject\u id
(不存在)过滤器()
完成,如下所示:showRelatedSubc(){
返回此.subjects.filter(
subject=>this.form.product===subject.product\u id
);
}
应该是
这个.form.subject.product\u id
因为v-model
绑定到form.subject
。应该是这个.form.subject.product\u id
因为v-model
绑定到form.subject
。
[
{
product_id: 1,
product_name: 'Apple'
},
{
product_id: 2,
product_name: 'Banana'
},
{
product_id: 3,
product_name: 'Watermelon'
},
{
product_id: 4,
product_name: 'Potato'
}
]
[
{
product_id: 1,
subject_name: 'Granny Smith'
},
{
product_id: 1,
subject_name: 'McIntosh'
},
{
product_id: 2,
subject_name: 'Cavendish'
},
{
product_id: 3,
subject_name: 'Jubilee'
},
{
product_id: 3,
subject_name: 'Black Diamond'
},
{
product_id: 4,
subject_name: 'Russet'
},
{
product_id: 4,
subject_name: 'Yukon Gold'
}
]
<label for="product_select_input">Product:</label>
<select
id="product_select_input"
v-model="form.product"
>
<option disabled value="">Select</option>
<option
v-for="(product, index) in products"
:key="index"
:value="product.product_id"
>{{ product.product_name }}</option
>
</select>
<label for="product_subject_input">Product Subject:</label>
<select
id="product_subject_input"
v-model="form.subject"
>
<option disabled value="">Select a Subject</option>
<option
v-for="(subject, index) in subjects"
:key="index"
:value="subject.subject_id"
>{{ subject.subject_name }}</option
>
</select>
computed: {
showRelatedSubj() {
if (this.form.product === this.subject.product_id) {
return this.subjects.filter(subject => subject.includes(this.subject_name))
} else {
return ''
}
}
}