0
我在primeNg DataTable的標題中有模板。primeNg DataTable標題模板列(自定義控件,下拉列表)沒有得到重置
- 自定義過濾DATERANGE(子)組件
- 下拉列出活動
- 專欄
- 普通模板列
我有一個全局篩選重置按鈕,在其所有過濾器必須重置。 dataTable.reset()
方法重置常規列(#3)和常規模板自定義(#4),但不重設其他標題控件(#1,#2)。
我試圖調用childComponent.Reset()
使用@ViewChild
選項,但我在運行時得到childComponent
爲"undefined"
。我可以看到@ViewChild
選項正在爲dataTable之外的常規子控件工作。
如何以正確的方式重置primeNg數據表中的所有控件?
<p-column field="updatedOn" header="Updated On" sortable="custom" (sortFunction)="dateSort($event)" [style]="{'width':'180px'}" filter="true" filterMatchMode="contains">
<template pTemplate="filter" let-col>
<date-range-filter #dateRangeFilter (dateRangeUpdated)="onRangeUpdated($event)"></date-range-filter>
</template>
<template let-col let-val="rowData" pTemplate="body">
<div class="bodyText">
{{val[col.field] | date: 'MM/dd/yyyy hh:mm a'}}
</div>
</template>
</p-column>
<p-column field="activity" header="Activity" sortable="true" filter="true" filterMatchMode="equals" [style]="{'width':'100px', 'overflow':'visible'}">
<template pTemplate="filter" let-col>
<p-dropdown #activityType appendTo="body" [options]="_activityList" [style]="{'width':'100%'}" (onChange)="memoTable.filter($event.value,col.field,col.filterMatchMode)"
styleClass="ui-column-filter"></p-dropdown>
</template>
<template let-col let-val="rowData" pTemplate="body">
<span class="ActivityBox" [ngClass]="getActivityColor(val[col.field])">{{getActivityType(val[col.field])}}</span>
</template>
</p-column>
<p-column field="User" header="User" sortable="true" filter="true" filterMatchMode="contains" [style]="{'width':'95px'}"></p-column>
<p-column field="comment" header="comment" sortable="true" filter="true" filterMatchMode="contains">
<template let-col let-val="rowData" pTemplate="body">
<div>
<div class="NotesColumn" [ngClass]="val[col.field].length > 15? 'underlined' : ''" (mouseenter)="op.show($event)" (mouseleave)="op.hide($event)">
{{val[col.field]}}
</div>
<p-overlayPanel #op [styleClass]="overlayDiv" [appendTo]="overlayTarget">
<div class="overlayDiv">
{{val[col.field]}}
</div>
</p-overlayPanel>
</div>
</template>
</p-column>
重置p-dropdown可以通過-1包含'[(ngModel)] =「_ selectedActivityType」'來捕獲選定的值。 2:將'_selectedActivityType'從activityList - 'this._selectedActivityType = this._activityList [0]'重置爲默認值。該問題仍然存在於自定義控制中。我相信這個組件在globalFilterClear事件期間沒有被渲染,導致錯誤'Can not read property'clearDates'of undefined'。 'clearDates()'是自定義組件的公共方法。 –