假设我有这个表,下面是我的数据。
Id , Name , IsBillable
1 One 1
2 two 0
3. three 0因此,我使用get masterData将上述所有数据存储在method.Lets中,假设这一部分。因此,我使用masterData显示我的下拉值。
<mat-option *ngFor="let option of masterData " [value]="option.id">
{{option.value}}
</mat-option>所以在这里我会得到所选的ID。但是我想通过使用一些logic.Below代码来获取所选Id的可计费数据,这是我的表单
const configControls = {
'Id': [appointmentObj.Id, Validators.required],
'IsBillable' : [appointmentObj.isBillable,Validators.required],
}
this.appointmentForm = this.formBuilder.group(configControls);因此,我可以使用以下逻辑获得所选的Id
this.appointmentForm.get('Id').value但我的主要问题是,是否有任何逻辑可以用来根据所选的Id获取可计费的数据,我尝试通过比较masterData和this.appointmentForm.get('Id').value,但不起作用。
var ApptId = this.appointmentForm.get('Id').value
var getAppId = this.masterData[0].id
for(getAppId = 0 ;getAppId <= ApptId;getAppId++){
if(ApptId == getAppId){
var billable = this.masterData [0].isBillable;
}
}发布于 2022-11-24 09:04:20
为什么不使用整个对象作为formControl的值呢?因此,您将在类型记录中访问id和访问isBillable属性。该html将是:
<mat-option *ngFor="let option of masterData " [value]="option">
{{option.id}} <!-- if you want to display the id -->
</mat-option>以及从所选值获取isBillable属性的类型记录代码:
var billable = this.appointmentForm.get('Id').value.isBillable;您将不得不重命名formControl " id“,因为它不再只是一个id。
https://stackoverflow.com/questions/74557991
复制相似问题