以编程方式更新md-select

时间:2016-04-26 03:25:57

标签: html angularjs angular-material

我有以下HTML

<md-select id="testSelect"
           ng-model="objElements" ng-change="onElementChange()"
           name="objElements" placeholder="Select Stuff">
    <md-option id="testOption"
               ng-repeat="ele in Elements"
               ng-if="ele.Completed==false"
               ng-value=ele.ID 
               ng-selected="$first">
        {{ele.Name}}
    </md-option>

Elements使用$http.get请求填充并正确显示 - 我可以选择一个元素并ng-change正确触发。

如果我使用$http.post添加新元素,然后使用Elements[]将新对象推送到Elements.push($scope.NewElement),我是否可以将新对象设置为“已选中”元件?

我可以看到新元素已正确添加到Elements[]但无法弄清楚如何设置ng-selected=NewElement

1 个答案:

答案 0 :(得分:0)

是的,只需将objElements设置为响应中的新元素即可。应该做的伎俩。

这里有一个很好的例子:https://material.angularjs.org/latest/api/directive/mdSelect(下面的代码)。

<div ng-controller="MyCtrl">
  <md-select ng-model="selectedUser">
    <md-option ng-value="user" ng-repeat="user in users">{{ user.name }}</md-option>
  </md-select>
</div>

angular.controller('MyCtrl', function($scope) {
  $scope.users = [
    { id: 1, name: 'Bob' },
    { id: 2, name: 'Alice' },
    { id: 3, name: 'Steve' }
  ];
  $scope.selectedUser = { id: 1, name: 'Bob' };
});