2016-04-18 155 views
1

如何在列表中將特定項目設置爲md-select選項組中的選定值。角度材料md選擇選項組默認選定值

例如,當我加載頁面時,我希望看到Alice和Steve已被檢查。我試圖通過放置值來設置模型,但它不起作用。

$scope.users = [ 
     { id: 1, name: 'Bob' }, 
     { id: 2, name: 'Alice' }, 
     { id: 3, name: 'Steve' } ]; 

$scope.selectedUser = [{ id: 2, name: 'Alice' },{id: 3,name:'Steve'}]; 

<md-input-container> 
    <label>Users</label> 
    <md-select ng-model="selectedUser" multiple=""> 
     <md-optgroup label="Users"> 
     <md-option ng-value="user" ng-repeat="user in users">{$ user.name $}</md-option> 
     </md-optgroup> 
     </md-select> 
</md-input-container> 

enter image description here

乾杯!

回答

2

你可以使用ng-selected。 不幸的是,ng-selected似乎並沒有發揮功能。所以你必須使用三元運算符。

<md-option ng-value="user" ng-repeat="user in users" ng-selected="user.name === 'Bob' ? true : (user.name === 'Alice' ? true : false)">{{ user.name }}</md-option> 

PLUNKER

+1

'NG-選擇= 「user.name == '鮑勃' || user.name == '愛麗絲'」'也適用。 – DieuNQ

+0

這個工程,謝謝! – Binsoi

+1

很高興我能幫到你。但也看看C14L的答案。我沒有意識到ng-model的軌跡功能,我發現它是一個更清晰的關注點分離 – jowey

4

使用ng-model-options(見頁最後一個例子)。所以,你的MD-選擇你這個樣子:

<md-select ng-model="selectedUser" multiple="" 
      ng-model-options="{trackBy: '$value.id'}"> 

Plunker example