我有这个对象。
{
"0":{
"id":"7",
"nombre":"127",
"ciudad":"1"
},
"1":{
"id":"8",
"nombre":"cll 155",
"ciudad":"1"
},
"2":{
"id":"10",
"nombre":"Cra 30",
"ciudad":"1"
},
"3":{
"id":"30",
"nombre":"Repuestos",
"ciudad":"1"
},
"4":{
"id":"6",
"nombre":"Ibagué",
"ciudad":"3"
},
"5":{
"id":"9",
"nombre":"Villavicencio",
"ciudad":"2"
}
}
如果我在
ng-options
中使用它,它会完美工作并创建选项。<select name="user_dealer"
ng-model="formModel.user_dealer"
ng-options="dealer.nombre for dealer in concesionarios">
<option value="" ng-if="!formModel.user_dealer">Concesionario</option>
</select>
但是,当我添加一个过滤器时:
<select name="user_dealer"
ng-model="formModel.user_dealer"
ng-options="dealer.nombre for dealer in concesionarios | filter: {ciudad:1}">
<option value="" ng-if="!formModel.user_dealer">Concesionario</option>
</select>
我得到这个错误
错误:[filter:notarray]预期的数组但已收到:
{“ 0”:{“ id”:“ 7”,“ nombre”:“
127“,” ciudad“:” 1“},” 1“:{” id“:” 8“,” nombre“:” cll
155“,” ciudad“:” 1“},” 2“:{” id“:” 10“,” nombre“:” Cra
30“,” ciudad“:” 1“},” 3“:{” id“:” 30“,” nombre“:”
Repuestos“,” ciudad“:” 1“},” 4“:{” id“:” 6“,” nombre“:”
Ibagué“,” ciudad“:” 3“},” 5“:{” id“:” 9“,” nombre“:”
Villavicencio“,” ciudad“:” 2“}}
最佳答案
您收到错误消息是因为ngFilter需要数组,而不是对象。您可以将concesionarios
对象转换为数组,然后对HTML进行以下操作:
<select name="user_dealer"
ng-model="formModel.user_dealer"
ng-options="dealer as dealer.nombre in concesionarios | filter: {ciudad:1}">
<option value="" ng-if="!formModel.user_dealer">Concesionario</option>
</select>
关于javascript - 错误:[filter:notarray] ng-options中的期望数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35140163/