繁体   English   中英

按钮根据条件禁用和启用按钮

[英]Button disable and enable button based on condition

我试图在值返回 true 时启用按钮。 即使是我的 function 也返回正确的值,但没有按照我的预期工作。

这是我的 function:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM