这个问题已经在这里有一个答案:
- 在AngularJS的$ HTTP请求中显示微调GIF? 26个回答
使用:v1.3.15我明白编码器试图通过使用这两个选择菜单来完成。 然而,由于在选择框被加载的数据是API调用的结果,有一个延迟,因此两个选择菜单显示,直到数据已被检索。
有没有一种方法使用一个选择元件,而数据是不使用两个选择菜单是从后端( 而object.name为空 )取来显示“搜索”信息选项? 如果没有,我怎么能做到这一点,使得只有一个将显示,而不是两个,而数据正在获取?
更新:尝试使用默认值ng-option
(不工作,不知道如何解决)
<p class="input-group" flex>
<label for="obj-name" class="input-group__label">Name
</label>
<select
ng-if="object.names !== null"
id="obj-name"
type="text"
class="input-group__input"
placeholder=""
ng-model="response.object.id"
ng-options="object.id as object.name for object in object.names"
ng-change="object.saveName()">
<option value="" disabled>
{{fetching?'Searching...':'Select...'}}
</option>
</select>
<!-- <select ng-if="object.name === null" type="text" class="input-group__input" disabled="true">
<option selected>Searching...</option>
</select> -->
更新来更新 包括JS文件
Controller.js
$scope.fetching = true;
$q.when($scope.modification)
.then((modification) => {
$selectEl.getObjectOptions(object.id, object.status)
.then((results) => {
results.unshift({ id: null, name: ' '});
this.optionsData = results;
}).then(() => {
$scope.fetching = false;
});
});
selectEl.service.js
export class SelectEl {
constructor ($q, $http) {
this._$q = $q;
this._$http = $http;
}
getObjectOptions(objId, status) {
let params = {
obj_id: objId,
status_id: status
};
return this._$http.get(url, { params: params })
.then((result) => {
return result.data;
})
}