我正在处理angularjs,我需要在所选项目中按名称设置所选项目。
我是如何做到的。我可以按索引设置项目,但如何处理itemname
例如:在加载时我将第一项设置为所选项
$scope.internalRoles = data;
$scope.internalItemSelected = $scope.internalRoles[0];
和数据就像
data = [{id : 1 , roleName : "admin"}
,{id : 2 , roleName : "superadmin"}]
现在我想根据roleName
设置所选项目$scope.internalItemSelected = $scope.internalRoles["superadmin"] ;//based on roleName
但它不起作用。
如何按名称设置?
答案 0 :(得分:1)
您可以为数组编写扩展程序:
Array.prototype.findItem = function (searchFor) {
return this.find(function(item){
return item['roleName'] === searchFor;
});
};
然后用:
调用它$scope.internalItemSelected = $scope.internalRoles.findItem("superadmin");
您还可以将'roleName'作为扩展属性传递,以使其更常用。
答案 1 :(得分:0)
如果您想从所选项目中设置名称,那么请直接按照此
进行操作$scope.internalRoles = data;
$scope.internalItemSelected = $scope.internalRoles[0].roleName;
console.log($scope.internalItemSelected);