我的下拉菜单中有
这是下拉代码
.toUTCString()
这是我的填充方式
我向服务器发送请求并获取所有房东类型
var curdate = new Date("Fri Mar 29 2019 08:00:00 GMT+0530");
var UTCdate = curdate.toUTCString();
并在<div class="form-group">
<label>{{l("LandlordType")}}</label>
<p-dropdown [options]="landlordTypes" autoWidth="false" [style]="{'width':'100%'}" name="type" [autoWidth]="true" [(ngModel)]="landlord.landlordTypeId"></p-dropdown>
</div>
getLandlordTypes(): void {
this._landlordTypesService.getLandlordTypesDropdownValues().subscribe(result => {
result.items.forEach(value => {
this.landlordTypes.push({ label: value.name, value: value.id });
});
this.landlord.landlordTypeId = result.items[0].id;
});
}
但是,当我使用此下拉列表打开模式时,我的第一个元素为ngOnInit
,而不是ngOnInit(): void {
this.getLandlordTypes();
}
。据我了解,我需要以某种方式推送默认值。我该怎么做?
答案 0 :(得分:0)
嗯。。看起来您的绑定错误。您的下拉选项值应绑定到整个对象。
您应该替换
this.landlord.landlordTypeId = result.items[0].id;
使用
this.landlord = result.items[0];
这是getLandlordTypes()方法的外观:
getLandlordTypes(): void {
this._landlordTypesService.getLandlordTypesDropdownValues().subscribe(result => {
result.items.forEach(value => {
this.landlordTypes.push({ label: value.name, value: value.id });
});
this.landlord = result.items[0];
});
}
然后在HTML上,使用将2路数据绑定设置为[(ngModel)]="landlord
。
<div class="form-group">
<label>{{l("LandlordType")}}</label>
<p-dropdown [options]="landlordTypes" autoWidth="false" [style]="{'width':'100%'}" name="type" [autoWidth]="true" [(ngModel)]="landlord"></p-dropdown>
</div>