我從休息服務中檢索一些數據並使用它來填充AngularJS中的選項。Chrome瀏覽器:在用戶打開選項後添加選項
如果用戶在檢索數據後打開選擇,則沒有問題。
如果用戶在檢索數據之前打開select,並保持打開狀態直到選項被填充,那麼chrome不會調整選項列表的大小,並且只顯示一個高度爲一行的滾動條。這對用戶來說是不合適和誤導的。
有什麼方法可以在Chrome中解決這個問題嗎?我意識到,我可以保持選擇禁用或隱藏,直到我填充選項,但我想知道是否有其他的選擇。
HTML(按鈕模擬調用REST服務):
<div ng-controller="MyCtrl">
<button type="button" ng-click="clickButton()">Add options
</button>
<select ng-model="value" style="width: 200px;"
ng-options="o.id as o.label for o in list"
><option value=""></option></select>
{{value}}
</div>
的Javascript:
function MyCtrl($scope, $timeout) {
$scope.list = [];
function addToList() {
$scope.list = [{
"id" : 1,
"label" : "One"
}, {
"id" : 2,
"label" : "Two"
}, {
"id" : 3,
"label" : "Three"
}
];
}
$scope.clickButton = function() {
$timeout(function() {
addToList();
}, 5000);
};
}
在的jsfiddle:http://jsfiddle.net/PabloMG/u3fz9be0/
我覺得你最好的選擇將是一個條件添加到您的選擇輸入: <選擇納克-if =「list.length」... – Rob
創建小提琴:https://jsfiddle.net/y7g3y9st/超時僅用於概念驗證。 – Rob