2016-06-13 13 views
0

複数の角度付きマテリアルmd-selectを使用すると、選択したすべてのアイテムが表示されます。私は郡を示す複数のセレクタを持っており、それらはすべて事前に選択されているはずです。 これは、30以上のアイテムを含むリストになり、ページ設定には非常によく見えません。md-選択した複数の制限付きの表示

選択した後に表示される選択肢を制限するオプションはありますか?

制限を超過した場合、私のケース3以上でmd-select-textを表示することはどういうことですか?

他の解決策はありますか?いくつかのcodepen例に

Link

答えて

2

あり、これを達成するための直接的な方法はありませんが、あなただけの限られたテキストポストの選択を表示したいが、あなたはmd-selected-textを使用して次のことを試すことができます。

<md-select ng-model="selected" placeholder="Pick" ng-change="onChange()" md-on-open="onOpen()" multiple md-selected-text="getSelectedText()"> 
<!-- OPTIONS --> 
</md-select> 

とJSで:

$scope.getSelectedText = function() { 
    console.log($scope.selected); 
    if ($scope.selected !== undefined) { 
     var filtered=filterSelectedItems($scope.selected); //Filter the display string over here 
     return filtered 
} else { 
    return "Please select an item"; 
} 
} 

NG-モデルselectedmultipleモードの場合は、それ以上のarray.Iterateで凝縮文字列を表示します。 さらに、その上にツールチップを置くと、選択した完全なアイテムが表示されます。

+0

「ReferenceError:filterSelectedItems is not defined」と表示されています。どんな考え? –

+0

No。 'filterSelectedItems'はあなたの要求に従って作成しなければならない関数です。最初の3つの選択された項目を表示したいとしましょう。この関数は配列の最初の3要素を返します。 – Rambler

+0

ありがとう、これは完全に動作します! –

関連する問題