javascript - 从初始下拉列表中动态创建的下拉列表匹配 Vue 模型中的值
问题描述
我有一个从我的 Vue 模型中的数组填充的下拉列表,如下所示:
<!-- First dropdown -->
<select v-model="building">
<option v-for="building in buildings" v-bind:value="building.id">
{{ building.name }}
</option>
</select>
<!-- Entries Input -->
<input v-model="entries" type="number">
用户选择此下拉菜单并单击按钮后,将创建一堆其他下拉菜单(数量取决于用户在另一个输入字段中输入的数字):
<!-- Dynamically created dropdowns -->
<div v-for="entry in entries">
<select>
<option v-for="building in buildings" :selected="building.id == building">
{{ building.name }}
</option>
</select>
</div>
我需要动态创建的下拉菜单与第一个下拉菜单具有相同的选择。我无法通过 v-model 绑定它们,因为我需要它们中的每一个都能够在不影响其他的情况下进行更改。
知道怎么做吗?我以为我的代码:selected="building.id == building"
可以工作,但似乎没有。
解决方案
尝试将第二个下拉列表绑定到基于第一个下拉列表的计算属性,如下所示:
computed:{
cpt_building:{
get(){
return this.building;
},
set(value){
//use your value whatever you want
}
}
模板 :
<div v-for="entry in entries">
<select v-model="cpt_building">
<option v-for="build in buildings" :selected="build.id == building">
{{ building.name }}
</option>
</select>
</div>
或者您可以创建另一个数据属性并通过观察第一个来更改它。
data(){
return{
building:0,
building2:0,
...
}
},
watch:{
building(val){
this.building2=val;
}
}
模板 :
<div v-for="entry in entries">
<select v-model="building2">
<option v-for="build in buildings" :selected="build.id == building">
{{ building.name }}
</option>
</select>
</div>
推荐阅读
- node.js - Binance - msg:“此请求的签名无效。”
- reactjs - 在 localhost 中运行 React 项目时出错
- java - 我可以使用适配器模式在只使用 GUI 构造之外的类的游戏中添加音乐吗?
- javascript - 从codepen,为什么按钮没有出现?
- python - 熊猫:如何对日期格式的列求和(dtype('
我想创建一个名为的新列
my_df['Contract End Date']
,其中包含 中包含的日期my_df['Contract Start']
和 中包含的总年数之和my_df['Term']
。问题是该- pdf - 编织 PDF 时如何更改 kableExtra::spec_pointrange 的线条颜色
- xaml - 如何根据日期对列进行分组?XAML
- python - 健身房定制环境和 PPO:训练有素的代理总是采取相同的行动,有什么建议吗?
- machine-learning - 以下哪一项是验证学习算法是否正确运行的有用步骤?
- python - Python 更新 json 文件中的字段