PrimeNg 复选框执行功能

问题描述 投票:0回答:1

我一直在尝试让一个函数在按下数据表中的复选框时发生。基本上我拥有的是一个包含默认值的数据表(例如 1 到 10)。然后,我向我的组件提供一系列项目,这些项目存在于我的对象中(例如 2 和 5)。现在,当构建网格时,它将包含数据表中的所有默认元素,但只有我们对象中的数据旁边才会有一个选中的复选框。现在我想做的是执行 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

每当我将 (change) 更改为 (onChange) 时。

我读到它与我的复选框位于模板内部有关,因此无法直接访问我的组件及其功能。任何对此的帮助将不胜感激。

javascript checkbox primeng
1个回答
1
投票

这个问题的答案是:

确保有足够的休息时间并仔细阅读代码。在我的组件中,我有一个名为 addOrRemove() 的函数,在我的 html 中,我有 addOrRemoveRow()。

© www.soinside.com 2019 - 2024. All rights reserved.