Javascript 角度4:按钮组件的禁用行为
我想将“禁用”行为传递给自定义按钮。下面代码的实际行为是,当表单中的所有字段都未填充时,该按钮被禁用。但当我填满所有东西时,按钮仍处于禁用状态。我有一种感觉,当页面被加载时,组件上的“禁用输入”被加载,但当表单被完全填充时,它永远不会被刷新,因此我无法单击按钮提交表单。该组件的目标是以不同的形式在多个页面中使用。有办法做到这一点吗 自定义按钮Html:Javascript 角度4:按钮组件的禁用行为,javascript,angular,typescript,web,button,Javascript,Angular,Typescript,Web,Button,我想将“禁用”行为传递给自定义按钮。下面代码的实际行为是,当表单中的所有字段都未填充时,该按钮被禁用。但当我填满所有东西时,按钮仍处于禁用状态。我有一种感觉,当页面被加载时,组件上的“禁用输入”被加载,但当表单被完全填充时,它永远不会被刷新,因此我无法单击按钮提交表单。该组件的目标是以不同的形式在多个页面中使用。有办法做到这一点吗 自定义按钮Html: <button type="button" class="btn btn-primary" disabled="disabled" (cl
<button type="button" class="btn btn-primary" disabled="disabled" (click)="onClickButton()">{{ label }}</button>
{{label}
Custon按钮TS:
import { Component, Output, EventEmitter, Input } from '@angular/core';
@Component({
selector: ' app-button-loader',
templateUrl: './button-loader.component.html',
styleUrls: ['./button-loader.component.css']
})
export class ButtonLoaderComponent {
@Input() label: string;
@Input() disabled: any;
@Output() onClick = new EventEmitter<any>();
constructor() { }
onClickButton() {
this.onClick.emit();
}
}
import{Component,Output,EventEmitter,Input}来自“@angular/core”;
@组成部分({
选择器:“应用程序按钮加载程序”,
templateUrl:“./button loader.component.html”,
样式URL:['./按钮加载器.component.css']
})
导出类ButtonLoader组件{
@Input()标签:字符串;
@Input()已禁用:任意;
@Output()onClick=neweventemitter();
构造函数(){}
onClickButton(){
this.onClick.emit();
}
}
下面是我如何称呼组件的:
<app-button-loader [disabled]="!demandCreationForm.valid" (onClick)="onSubmit()" [label]="'demand-create.button-submit' | translate"></app-button-loader>
像这样更改代码
<app-button-loader [disabled]="demandCreationForm.invalid" (onClick)="onSubmit()" [label]="'demand-create.button-submit' | translate"></app-button-loader>
像这样更改代码
<app-button-loader [disabled]="demandCreationForm.invalid" (onClick)="onSubmit()" [label]="'demand-create.button-submit' | translate"></app-button-loader>
将按钮元素更改为以下内容:
<button type="button" class="btn btn-primary" [disabled]="disabled" (click)="onClickButton()">{{ label }}</button>
{{label}
目前,您直接使用html属性“disabled”,而不是Angular属性。因此,一旦加载页面,该值将不会更新。将按钮元素更改为以下内容:
<button type="button" class="btn btn-primary" [disabled]="disabled" (click)="onClickButton()">{{ label }}</button>
{{label}
目前,您直接使用html属性“disabled”,而不是Angular属性。因此,该值在页面加载后不会更新。该组件的目标是被其他页面重用,我无法将其硬链接到实际表单(我在帖子中添加了精度)。该组件的目标是被其他页面重用,我无法将其硬链接到实际表单(我在帖子中添加了精度)。事实上,非常感谢你!我太专注了,我完全忘记了那些!的确,非常感谢!我太专注了,我完全忘记了那些!