我有一个表单,其中包含一些从服务加载的列表框:其中大部分工作正常,但有3个有问题:列表填充正确,ng-model变量设置正确,但该项目不是选择。
检查batarang发现了这个:
<select class="required form-control ng-pristine ng-valid ng-touched" data-ng-options="tipoVia.id as tipoVia.descrizione for tipoVia in vm.tipiViaEdit" data-ng-model="vm.recordSelect.tipoVia" data-ng-change="vm.filtroTipoViaEdit()">
<option value="0" selected="selected" label="(--)">(--)</option>
...
<option value="62" label="SVINCOLO">SVINCOLO</option>
<option value="63" selected="selected" label="TRAVERSA">TRAVERSA</option>
<option value="64" label="TRAVERSA DI">TRAVERSA DI</option></select>
...
出于同样的奇怪原因,看起来两个项目都被标记为已选中:你知道这可能发生的时间吗?我看过几次,但我不明白我是怎么做到的。
更新: 在调用服务器接收数据之后,我设置选项并与模型进行比较以查看是否在数组中找到了值,并且找到了值
this.tipiViaEdit = data.tipiVia;
this.tipiViaEdit.forEach(myString => {
if (myString.id === this.recordSelect.tipoVia) {
alert("value found");
}
});
卢卡
答案 0 :(得分:0)
最后我发现了问题并且我分享了解决方案希望对其他人有用:在页面中我使用网格来显示对象列表,并选择在编辑表单中使用对象的其中一行。
看起来问题是同一个对象既绑定到网格又绑定到表单中的组件,给出不同属性的不同结果:表单中的某些字段绑定正确,其他字段没有绑定。
我从服务器重新水化对象,下载一个新的对象和列表组件,这样表单就可以了。