按钮根据条件禁用和启用按钮
Button disable and enable button based on condition
我试图在值 return 为真时启用按钮。甚至我的函数 return 的值都是正确的,但没有按照我的预期工作。
这是我的功能:
buttondisable() {
this.store.select(transcriptionSelector).pipe(
takeUntil(this.transcriptSubject)
).subscribe(data => {
if (data.uiState === 'LOADED' || data.uiState === 'SAVED') {
if (data.text[0].status === 'Y') {
this.submitted = true;
} else {
this.submitted = false;
}
}
return this.submitted;
});
}
HTML:
<button mat-raised-button color="accent" [disabled]="submitted? true: null"
>{{transcriptButtonText}}</button>
试试这个:
private buttondisable() {
this.store.select(transcriptionSelector).pipe(
takeUntil(this.transcriptSubject)
).subscribe(data => {
let flag = false;
console.log(data);
if (data.uiState === 'LOADED' || data.uiState === 'SAVED') {
if (data.text[0].status === 'Y') {
this.submitted = true;
flag = true;
}
}
return flag;
});
它不会工作,因为您将 Y 分配给提交的变量。
尝试:
if (data.text[0].status === 'Y') {
// this.submitted = data.text[0].status === 'Y';
console.log( this.submitted);
this.submitted = true;
} else {
console.log(this.submitted);
this.submitted = false;
}
我试图在值 return 为真时启用按钮。甚至我的函数 return 的值都是正确的,但没有按照我的预期工作。
这是我的功能:
buttondisable() {
this.store.select(transcriptionSelector).pipe(
takeUntil(this.transcriptSubject)
).subscribe(data => {
if (data.uiState === 'LOADED' || data.uiState === 'SAVED') {
if (data.text[0].status === 'Y') {
this.submitted = true;
} else {
this.submitted = false;
}
}
return this.submitted;
});
}
HTML:
<button mat-raised-button color="accent" [disabled]="submitted? true: null"
>{{transcriptButtonText}}</button>
试试这个:
private buttondisable() {
this.store.select(transcriptionSelector).pipe(
takeUntil(this.transcriptSubject)
).subscribe(data => {
let flag = false;
console.log(data);
if (data.uiState === 'LOADED' || data.uiState === 'SAVED') {
if (data.text[0].status === 'Y') {
this.submitted = true;
flag = true;
}
}
return flag;
});
它不会工作,因为您将 Y 分配给提交的变量。
尝试:
if (data.text[0].status === 'Y') {
// this.submitted = data.text[0].status === 'Y';
console.log( this.submitted);
this.submitted = true;
} else {
console.log(this.submitted);
this.submitted = false;
}