我正在尝试使用ui-select为角度1.x预选一个项目。 我需要在" Padrao"是的。
我的json回复是这样的:
"listaCecProduto": [
{
"aplicacaoProduto": "30",
"cecs": [
{
"idCec": 339,
"nome": "RH - 16584665699425 - 30 - Cultura",
"ordemExibicao": 1,
"padrao": false
}
]
},
{
"aplicacaoProduto": "31",
"cecs": [
{
"idCec": 340,
"nome": "RH - 16584665699425 - 31 - Refeição",
"ordemExibicao": 1,
"padrao": false
},
{
"idCec": 341,
"nome": "RH - 16584665699425 - 31 - Refeição - 2",
"ordemExibicao": 2,
"padrao": true
}
]
}
]
这是我的HTML
<ui-select ng-model="cec.item" theme="selectize" title="Select">
<ui-select-match placeholder="Selecione">
{{ $select.selected.nome }}
</ui-select-match>
<ui-select-choices repeat="item in cecs">
<span>{{item.nome | highlight: $select.search}}</span>
<small ng-bind-html="item.idCec | highlight: $select.search"></small>
</ui-select-choices>
</ui-select>
我的控制器:
for (var i in response.data.listaCecProduto) {
let aplicacaoProduto = response.data.listaCecProduto[i].aplicacaoProduto;
$scope.produtocec[aplicacaoProduto] = [];
for (var j in response.data.listaCecProduto[i].cecs){
$scope.produtocec[aplicacaoProduto][j] = response.data.listaCecProduto[i].cecs[j];
}
}
console.log("produtocec", $scope.produtocec);
for (var k in $scope.produtocec) {
if($scope.produtocec[k].length < 2) {
console.log("k", $scope.produtocec)
$scope.cec.item[k] = $scope.produtocec[k][0];
}
}
我尝试添加一些课程(&#39;有效的&#39;)来使用条件来检查是否&#34; padrao&#34;是真的,但没有用。
有什么想法吗?
答案 0 :(得分:0)
解决它做另一个循环以检查“padrao”状态。
for (var k in $scope.produtocec) {
if($scope.produtocec[k].length < 2) {
// console.log("k", $scope.produtocec)
$scope.cec.item[k] = $scope.produtocec[k][0];
} else {
for (var o in $scope.produtocec[k]) {
if($scope.produtocec[k][o].padrao === true) {
$scope.cec.item[k] = $scope.produtocec[k][o];
console.log("o", $scope.produtocec[k][o].padrao);
}
}
}
}