每当我按下数据表中的复选框时,我一直试图让函数发生。基本上我所拥有的是一个带有默认值的数据表(例如1到10)。然后我给我的组件提供一系列项目,这些项目存在于我的对象中(例如2和5)。现在构建网格时它是dataTable中的所有默认元素,但只有我们对象中的数据旁边会有一个复选复选框。现在我想要做的是让我的addOrRemove函数执行,具体取决于复选框的状态将添加或从数组中删除默认数据对象(在这种情况下为[2,5])。因此可以取消选中2或5,从而从阵列中删除,并且可以检查1,3,4,6,7,8,9,10并将其添加到阵列中。
我没有真正为此编写代码时遇到问题,但每当我按下复选框时,我都很难执行我的功能。
这就是我在html文件中定义复选框的方式:
<p-column header="Included" [style]="{'width':'80px', 'text-align':'center'}">
<template let-object="rowData" pTemplate="body">
<p-checkbox binary="true" [(ngModel)]="object.included" (change)="addOrRemoveRow($event,object.data)"></p-checkbox>
</template>
</p-column>
使用这个我没有触发任何功能。 在PrimeNg文档中,声明p-checkbox有一个onChange事件。但每当我使用它时,我都会收到错误。
EXCEPTION: Error in http://localhost:3000/app/shared/grid/checkable-grid/checkable-grid.component.html:9:12 caused by:
self.parentView.context.addOrRemoveRow is not a function
只要我将(更改)更改为(onChange)。
我已经读过它与我的复选框位于模板内部有关,因此无法直接访问我的组件及其功能。对此有任何帮助将非常感激。
答案 0 :(得分:1)
这个问题的答案是:
确保您有足够的休息时间并仔细阅读您的代码。在我的组件中,我有一个名为addOrRemove()的函数,在我的html中我有addOrRemoveRow()。