我在我的角度应用程序中使用PrimeNG,我遇到了p-dropdown问题
问题
我有两个国家和caste_category下拉菜单,我只为印度提供caste_reservation,如果选择其他国家/地区,则需要选择caste_category中的OPEN选项并禁用该下拉列表。
答案 0 :(得分:2)
如果我完全了解您的需求,您必须在国家/地区下拉列表中设置onChange
事件。此事件将调用一个方法,该方法将根据所选国家/地区在种姓下拉列表中触发disabled
属性。如果该国家不是印度,它还将在此下拉列表中选择 OPEN 选项。
<强> HTML 强>
<p-dropdown [options]="countries" [(ngModel)]="applicant.country" (onChange)="updateCountry()"></p-dropdown>
<p-dropdown [options]="castes" [(ngModel)]="caste" [disabled]="disableCasteDropdown"></p-dropdown>
<强> TS 强>
updateCountry() {
if(this.applicant.country!=='India') {
this.disableCasteDropdown = true;
this.caste = 'o';
} else {
this.disableCasteDropdown = false;
this.caste = null;
}
}
请参阅Plunker
这是你在找什么?
答案 1 :(得分:0)
如果您使用的是指令表单控件,则可以通过在表单控件中添加disable:true来禁用输入,下拉菜单等...
将html结果中的Disabled属性用于控制台中的此消息:
It looks like you're using the disabled attribute with a reactive form directive. If you set disabled to true
when you set up this control in your component class, the disabled attribute will actually be set in the DOM for
you. We recommend using this approach to avoid 'changed after checked' errors.
Example:
form = new FormGroup({
first: new FormControl({value: 'Nancy', disabled: true}, Validators.required),
last: new FormControl('Drew', Validators.required)
});