angular - 如何在 Angular 4 中将复选框标记为已选中

标签 angular angular4-forms

我是 Angular 2 的新手。我需要在单击按钮时标记复选框。 我在循环中有一些复选框,例如

 <tr *ngFor="let roleObj of roleNameList">
      <td>
         <input type="checkbox"   id ={{roleObj.roleID}} />
     </td>
     <td>{{roleObj.roleName}}</td>
  </tr>

我有一组选定的 Angular 色,只需要在单击编辑按钮时标记这些复选框。所以我在 javascript 中做了同样的事情

 document.getElementById("role").checked

但是在 Angular 4 中没有这样的属性。

我搜索并发现有一个属性绑定(bind)

[checked] ="somevariable"

但问题是相同的属性 [checked] ="somevariable"将添加到所有复选框。结果是当我将 somevariable 指定为 true 时。它将标记所有复选框。

我在 jquery 中的其他解决方案,如

$(document.getElementById(role)).prop('checked', true);

但可能会造成问题,我不确定请指正。

请帮帮我。任何线索或逻辑都会影响我的生活。

最佳答案

您可以修改您的对象以包含一个 bool 值 checked属性(即 roleObj.checked = false )并在需要时动态更新相关属性。

然后你的标记就变成了

<input type="checkbox" [checked]="roleObj.checked" id ={{roleObj.roleID}} />

关于angular - 如何在 Angular 4 中将复选框标记为已选中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49904531/

相关文章:

angular - MSAL(Angular)弹出登录

angular - 使用 Angular2 中的服务将数据传递给其他组件

javascript - Angular 6 错误 "NullInjectorError: No provider for Router!"

javascript - 单选按钮拦截 Angular/Javascript 中未经检查的事件

angular2-template - 当未在NgIf中呈现时,删除角度4中的验证

angular - 使用 Angular 4 在单个组件中加载动态模板

angular - 当焦点从 Angular 输入中移出时触发验证?

Angular 2 : convert array to Observable

typescript - Angular 2 将复杂的服务注入(inject)到服务中

Angular 4继承的Formcontrol