这是我的密码

我有这样的列表数组:这是getCall.

<tr *ngFor = "let ktsession of ktsessions >

  <td ><input type="checkbox" [disabled]='disabled'></td>
</tr>

TS代码:

getktsession(){   
    this.service.getKtsession().subscribe(data =>{
      console.log('get', data);
      this.ktsessions = data;
      this.ktsessions.find(user => {
     
       if(user.presenter ==="Kanchan"){
       this.disabled = true
} else {
this.disabled = false;
}
        
      });
    });
  }

推荐答案

这里有几个问题.

  1. <tr *ngFor = "let ktsession of ktsessions >-ktsessions后缺少结束报价
  2. <td ><input type="checkbox" [disabled]='disabled'></td>-[disabled]='disabled'应为[disabled]="ktsession.disabled".每个checkbox实例都需要有自己的disabled属性.[disabled]='disabled'将每个复选框的disabled属性设置为组件类实例的disabled属性,而不是复选框实例的disabled属性.
  3. this.ktsessions.find(user => {-Array#find在这里不是一个合适的方法,尽管它碰巧可以工作,因为您没有从回调函数返回任何内容,因此它将迭代整个array.Array#find用于在数组中搜索与指定条件匹配的元素并返回该元素,而不是迭代数组并设置每个元素的属性,这正是您在这里要做的.Array#forEach是合适的方法.
  4. this.disabled = truethis.disabled = false-这些是在组件类实例上设置disabled属性(这是this所指的),但您需要做的是在每个user实例上设置disabled属性:user.disabled = trueuser.disabled = false.

因此,您的模板应该如下所示:

<tr *ngFor="let ktsession of ktsessions">
  <td>
    <input type="checkbox" [disabled]="ktsession.disabled" /> <!-- reference "ktsession.disabled" instead of "disabled" -->
    {{ ktsession.presenter }}
  </td>
</tr>

你的subscribe应该是这样的:

this.getKtsession().subscribe((data) => {
  this.ktsessions = data;
  this.ktsessions.forEach((user) => { // <-- use forEach, not find
    if (user.presenter === 'Kanchan') {
      user.disabled = true; // <------------ set user.disabled, not this.disabled
    } else {
      user.disabled = false; // <----------- set user.disabled, not this.disabled
    }
  });
});

Here's a StackBlitz显示如何处理这些更改.

Javascript相关问答推荐

nPM审计始终发现0个漏洞

创建私有JS出口

如何使用JavaScript用等效的功能性HTML替换标记URL格式?

如何最好地从TypScript中的enum获取值

我应该在redux reducer中调用其他reducer函数吗?

node TS:JWT令牌签名以验证客户端和后台问题之间的身份验证

无法在nextjs应用程序中通过id从mongoDB删除'

在观察框架中搜索CSV数据

将旋转的矩形zoom 到覆盖它所需的最小尺寸&S容器

如何将多维数组插入到另一个多维数组中?

当id匹配时对属性值求和并使用JavaScript返回结果

JavaScript是否有多个`unfined`?

使用带有HostBinding的Angular 信号来更新样式?

创建以键值对为有效负载的Redux Reducer时,基于键的类型检测

TypeError:无法读取未定义的属性(正在读取';宽度';)

FileReader()不能处理Firefox和GiB文件

如果NetSuite中为空,则限制筛选

Reaction即使在重新呈现后也会在方法内部保留局部值

为什么当雪碧的S在另一个函数中时,Phaser不能加载它?

无法向甜甜圈图表上的ChartJSImage添加可见标签