私はかなり長い間SOを見てきましたが、私の遠く離れた質問にもこれに対する答えが含まれていないようです。取り出したデータに角度ドロップダウンオプションを追加
の状況は次のとおりです。
(あなたが望むように、または選択)私は、データベースからフェッチされたデータとAngularJS(^ 1.6.2)を使用して、ドロップダウンを移入しています。このデータは、すべてが正しく設定された状態でng-options
を使用して選択されます。
は私が達成しようとしていることNULL
オプションは、オプションのリストに追加されていることですが、フェッチされたデータを含む$scope
オブジェクトへのない。
私はいくつかのコードで明確にされます:
<select ng-options="item as item.name for item in items track by item.id"
ng-model="forms.formDataObject.item">
</select>
これは、オプションのリストを生成し、このような何か:
<select ...>
<option value="1">Item 1</option>
<option value="2">Item 2</option>
<option value="3">Item 3</option>
...
</select>
を私が使用して、このドロップダウンにNULL
オプションを追加しようとしました以下の角度フィルタ:
app.filter('addNullOption',() => {
return (input) => {
if (!input[0].null_option) {
var emptyObj = angular.copy(input[0]);
Object.keys(emptyObj).forEach((key) => {
emptyObj[key] = null;
});
emptyObj.null_option = true;
input.unshift(emptyObj);
}
return input;
};
})
そして、フィルタをng-options
を他のフィルタと同様に使用します。
これは機能しますが、$scope
オブジェクトにはこのドロップダウンメニューの$scope
しか使用できません。アプリケーション全体の他のドロップダウンでドロップダウンを埋め込むために同じ$scope
オブジェクトが使用され、にはがありません。これはNULL
オプションが使用可能なためです。要約すると
が、これは私の質問です:私は、その特定のドロップダウンの$scope
にのみ、事前にドロップダウンにNULL
オプションを追加できるようにしたいと思います。
誰も私を正しい方向に導くことができますか?
は、私はあなたの正確なソリューションを試してみたが、問題は同じまま願っています。 –
'items'配列を投稿することができます –
ここにhttp://i.imgur.com/8NHv0dy.png –