Lak*_*hmi 7 typescript primeng angular primeng-datatable angular11
我正在将一个模块从 primeng 7 迁移到 primeng11 以及 angular11 代码在 ng 服务上运行得很好,功能也正常工作,但在构建时我遇到了一个奇怪的错误
error TS2339: Property 'value' does not exist on type 'FilterMetadata | FilterMetadata[]'.
Property 'value' does not exist on type 'FilterMetadata'.
Run Code Online (Sandbox Code Playgroud)
错误是针对以下代码的
<input *ngIf='!col.noFilter' [style.width]="'98%'" [style.height]="'25px'" pInputText type="text"
[placeholder]="col.filterPlaceHolder ? col.filterPlaceHolder : ''"
(input)="dt.filter($event.target.value, col.field, col.filterMatchMode)"
[value]="dt.filters[col.field]?.value" />
Run Code Online (Sandbox Code Playgroud)
我已经验证了 primengFilterMetaData接口,它的属性值如下
export interface FilterMetadata {
value?: any;
matchMode?: string;
operator?: string;
}
Run Code Online (Sandbox Code Playgroud)
代码语法很好,我已经在 primeng 页面文档上验证了相同的语法https://www.primefaces.org/primeng/showcase/#/table
请帮助不确定为什么 ng 服务没有问题但构建失败。我的节点版本是节点v10.23.0
Sam*_*ath 11
Angular/PrimeNg:12+
这对我有用:
注意:您可以$any在此处查看用法。
<input pInputText type="text" (input)="dt.filter($any($event.target)?.value, 'name', 'contains')"
[value]="$any(dt.filters['name'])?.value" placeholder="Search by Name" class="p-column-filter">
Run Code Online (Sandbox Code Playgroud)
参考: https://github.com/angular/angular/issues/35293#issuecomment-584293328
Zam*_*hid -1
您的语法中有一个拼写错误。我希望您使用全局搜索功能,并且语法应该是(input)="dt.filterGlobal()"而不是 (input)="dt.filter()"。
<input *ngIf='!col.noFilter' [style.width]="'98%'" [style.height]="'25px'" pInputText type="text" [placeholder]="col.filterPlaceHolder ? col.filterPlaceHolder : ''" (input)="dt.filterGlobal($event.target.value, col.field, col.filterMatchMode) />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4832 次 |
| 最近记录: |