【问题标题】:Update md-select programmatically以编程方式更新 md-select
【发布时间】:2016-04-26 12:03:29
【问题描述】:

我有以下 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.push($scope.NewElement) 将新对象推送到Elements[],有没有办法可以将新对象设置为“选定”元素?

我可以看到新元素已正确添加到Elements[],但不知道如何设置ng-selected=NewElement

【问题讨论】:

    标签: html angularjs angular-material


    【解决方案1】:

    是的,只需将 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' };
    });
    

    【讨论】:

    • 如果这个 md-select 是多个,我该怎么办
    • @ReNiShAR 你在 StackOverflow 上提出了一个新问题! ;)
    • 我已经发了一个,没有得到任何答案,最后我找到了解决方案并发布了:stackoverflow.com/questions/42436358/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-18
    • 1970-01-01
    • 1970-01-01
    • 2018-11-25
    • 2015-06-30
    相关资源
    最近更新 更多