繁体   English   中英

如何在UI-Select Angle 1.x中预选择项目

[英]How to preselect an item in UI-Select angular 1.x

我试图使用ui-select预先为角度1.x选择一个项目。 当“ Padrao”为true时,我需要选择它。

我的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];
      } 
    }

我试图添加一些类(“活动”)以使用条件来检查“ padrao”是否为真,但没有起作用。

有任何想法吗 ?

解决了它执行另一个循环以检查“ 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);
          }
        }
      }
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM