javascript - 在Angular中使用ngModel指令选择/取消选择并获取动态生成的复选框的值
问题描述
我有一组数据响应,API
使用 PrimeNG 的 DataView 组件在我的 HTML 文件上动态生成复选框。
目标是拥有一个功能,例如,我可以通过单击按钮选择/取消选择所有复选框并将它们的值存储在 中array
。
这是我到目前为止所拥有的;
组件 HTML
<p-dataView [value]="requestList" {...} >
<ng-template let-request pTemplate="listItem">
<p-checkbox
name="reqNo"
inputId="reqNo"
(click)="getCheckBoxValue()"
value="{{ request.requestNo }}"
[(ngModel)]="reqNo"
[ngModelOptions]="{ standalone: true }"
></p-checkbox>
</ng-template>
</p-dataview>
主 TS 文件
reqNo: any;
reqNo 是使用 ngModel 绑定的。
安慰时给我一组值;
['R08000036', 'R08000002']
API 响应中的每个对象如下所示;
{
requestNo: "R08000036",
requestBy: "SUPER_USER",
requestTs: "2021-02-18T04:27:05.710+0000",
collectTs: "2008-07-30T16:00:00.000+0000",
testReason: "After Visit",
noOfPrisoner: 2,
status: "Printed",
printTs: "2008-07-21T16:00:00.000+0000",
escortingOfficer: "00552",
}
getCheckBoxValue 事件处理程序;
getCheckBoxValue() {
console.log(this.reqNo);
}
我是 Angular 的新手,我认为我使用 ngModel 错误。有人可以教我吗?
解决方案
您可以通过 requestList 中的值为 reqNo 设置新值来选择所有值。
selectAll() {
this.reqNo = this.requestList.map(item => item.requestNo);
}
unselectAll() {
this.reqNo = [];
}
推荐阅读
- c++ - 在 sublime 的 mac os m1 上使用 GCC 编译 C++ 代码会给出警告
- flutter - Flutter 运行结束于:Could not create an instance of type org.gradle.invocation.DefaultGradle
- tensorflow.js - 如何将基于视频的姿势分类预测从 tensorflow.js 模型导出到 .csv 文件(或至少是文本)?
- python - 使用 __doPostBack 进行网页抓取
- windows - Windows 事件跟踪:OpenTrace/ProcessTrace 未返回任何事件 - 未调用回调
- python - 在 Python 3.7.9 中使用 opencv 和 mediapipe 制作手部跟踪模块时出错
- c# - C# 列表
到 DataFrame (Microsoft.Data.Analysis.DataFrame) - 将列表加载到 DataFrame - python - 我的请求模块有什么问题?蟒蛇3.82
- javascript - 关闭并重新打开弹出窗口后删除验证错误消息
- python - 'tensorflow.python.framework.ops.EagerTensor' 对象没有属性 'conjugate'