我是AngularJS的新手,目前我遇到了选择问题。
我正在编辑现有的用户信息,当选择配置文件(perfil)或企业(empresa)它开始空白时,这不是问题,问题是如果我在任何输入外部点击,则选中选项从视图中消失(我已经检查过并且数据确实绑定了)。 例如:
它在这里的代码:
/*This is how i obtain the profiles from a table, this returns an array of objects which contains "codigo","descripcion","idPerfil"*/
function listaperfiles(){
var listaperf= portalServicios.listaperfiles(mntusuarioCtrl.id).$promise;
listaperf.then(function(respuesta){
mntusuarioCtrl.perfiles=respuesta;
});
listaperf.catch(function(respuesta){
$log.error("Perfiles Error");
$log.error(respuesta);
});
}
/*This function obtains a list of registered users from a table, this contains "nombre","apellidos","codigo","clave","idUsuario","tblPerfil","tblEmpresa", "estatus","email", "seleccionado" is just the user selected fomr that list that is going to be modified or deleted*/
function listaUsuarios(data){
var listausr = ssmeServicios.obtenusuarios(data).$promise;
listausr.then(function (respuesta){
$log.info(respuesta);
mntusuarioCtrl.usuarios=respuesta;
});
listausr.catch(function(respuesta){
$log.error(respuesta);
})
}
<div class="form-group">
<label for="perfil" class="col-sm-3 control-label" style="padding-right: 10px">Perfil:</label>
<div class="col-sm-9">
<select required="true"
id="perfil"
ng-model="mntusuarioCtrl.seleccionado.tblPerfil"
ng-options="opcion.descripcion for opcion in mntusuarioCtrl.perfiles">
<option value="" select hidden/>
</select>
</div>
</div>
这只是一个小麻烦,但一直困扰着我!
如果需要,我可以提供有关代码或任何内容的更多信息。
感谢您的时间!
答案 0 :(得分:0)
这是一个带有选择示例的plunker
,使用与您的代码类似的结构进行修改:
http://plnkr.co/edit/sOqtxVz2utHUXhw0hOQd
希望它有所帮助!如果没有,请解释一下你的解决方案。一个掠夺者可以帮助很多!
修改强>
现在有了你的傻瓜,我可以看到你的错误。这是一个有效的叉车:http://plnkr.co/edit/sm1DhanxJpLJ4Yrkhucx?p=preview
Angular查找对象相等性以将其与您的语法绑定,并且只有当两个对象指向相同的引用时它们才相等。因此它无法加载所选值。但是,使用track by
解决了这个问题。