【问题标题】:Primeng checkbox checked issue angularPrimeng复选框检查问题角度
【发布时间】:2021-05-17 04:35:00
【问题描述】:

在我使用primeng复选框的angular 8应用程序中,我遇到了一些问题。复选框数据来自db。因此,如果 status==0,我必须取消选中它,如果 status==1,即使加载表(默认)也应该选择它。我尝试了很多方法,但它不起作用。谁能指出我的问题或任何建议都会有很大帮助。

 onStatusChange(id: number,status: number) {
        this.id = id;
        console.log('Id', id);
        console.log('Checked');
        this.status = status;
        console.log('Status', status);
        
    }
<p-checkbox [value]="text.id" [(ngModel)]="status" binary="true"  (onChange)="onStatusChange(TextID,status)"></p-checkbox>
来自 db 的数据是这样来的

{"Text":
[
  {"ID":"1","Name":"Text","textContent":"content1,"status":"1"},
  {"ID":"2","Name":"Text","textContent":"content1,"status":"1"},
  {"ID":"3","Name":"Text","textContent":"content1,"status":"0"}
]
}
 
   
在 ngModel 和 ngModelChange 内部尝试了三元 if 语句

text.IsActive[text.IsActive==1?'true':'false'

我在 onStatusChange 中获取所需的数据,以使其活动或不活动以将其更新到数据库。但问题在于在加载数据时根据选择检查复选框。 请帮帮我..最近几天卡在这里..

【问题讨论】:

  • 请检查我的回答,让我知道这是否适合你。

标签: angular typescript primeng-checkbox


【解决方案1】:

您可以使用(ngModelChange) 代替(onChange)。代码如下=>
HTML

  <div>
    <p-checkbox 
      label="My CheckBox" 
      binary="true" 
      [(ngModel)]="showLinkedRisksOnly"
      (ngModelChange) ="myModelChanged($event)"
      >
    </p-checkbox>
    </div>
    <div>
    Value: {{showLinkedRisksOnly}}
    </div>

TS:

import { Component } from '@angular/core';

@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  showLinkedRisksOnly = true;
  myModelChanged($event){
    console.log($event);
  }
}

注意:您可以查看STACKBLITZ中的代码。

【讨论】:

  • 感谢您的帮助。但没有奏效。状态值是 1 或 0,而不是 true 或 false。我将在我的帖子中添加更多细节。请帮帮我..卡在这里
猜你喜欢
  • 1970-01-01
  • 2023-04-05
  • 1970-01-01
  • 1970-01-01
  • 2021-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多