在true / false语句中输入[disabled] - Angular 2

时间:2017-09-07 21:14:54

标签: angular input bootstrap-modal disabled-input

我输入了:

<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 ) );
                    } );
            }
        } );
}

1 个答案:

答案 0 :(得分:1)

您可以添加变量。在disableInput中说出布尔类型CompanyTemplatePopupComponent

您可以通过在模态打开后调用的函数来设置上述变量。

使用此布尔变量禁用或启用输入

[attr.disabled]="disableInput?'':null"

确保如果变量设置为false,则[attr.disabled]应设置为null,以便在浏览器中呈现时,禁用HTML中的禁用属性。