我输入了:
<input class="form-control" type="text" [(ngModel)]="context.company.city.zipCode">
弹出模式有两次打开:当我点击&#34; New&#34;按钮,或者当我双击网格中的公司来编辑该公司的属性时。
我的输入位于CompanyTemplatePopupComponent中,该组件在此组件的start处导入,以防某些路径必须指向影响输入。
我想要的是以这种方式写入 this.modal.open 函数,当我打开 editCompany 时 - 输入被禁用,而 newCompany 已激活,输入字段也已启用。 isUpdate 已经是布尔值,如果它能以某种方式提供帮助。
openCompanyPopup( isUpdate, company ) {
let companyToEdit = isUpdate ? company : this.companyTemplate;
this.modal.open( CompanyTemplatePopupComponent, overlayConfigFactory( {
dialogClass: 'modal-dialog style-dialog',
company: companyToEdit,
isUpdate: isUpdate,
countries: this.countries,
}, BSModalContext ) )
.then(( d: any ) => d.result )
.then( result => {
if ( isUpdate ) {
this.companyService.editCompany( result )
.subscribe( company => {
this.companyService.get().subscribe( response => this.handleSuccess( response ) );
} );
}
else {
this.companyService.newCompany( result )
.subscribe( company => {
this.companyService.get().subscribe( response => this.handleSuccess( response ) );
} );
}
} );
}
答案 0 :(得分:1)
您可以添加变量。在disableInput
中说出布尔类型CompanyTemplatePopupComponent
。
您可以通过在模态打开后调用的函数来设置上述变量。
使用此布尔变量禁用或启用输入
[attr.disabled]="disableInput?'':null"
确保如果变量设置为false,则[attr.disabled]
应设置为null,以便在浏览器中呈现时,禁用HTML中的禁用属性。