【问题标题】:Date Dropdown Filter for PRIME NG tablePRIME NG 表的日期下拉过滤器
【发布时间】:2021-09-21 13:53:14
【问题描述】:

在 Prime NG 表中,我们从 API Response 接收数据。对于 DATE 列数据,以毫秒为单位接收,通过以下代码将其转换为日期格式:

{{rowData.errorOccuredTime | date : 'MM/dd/yyyy'}}
In Date column we need a Filter for which I have written as following <input *ngSwitchCase="'errorOccuredTime'" type="date" (input)="dt.filter($event.target.value, col.field, 'equals')">

所以无论哪种方式它都可以工作。
任何一个用户都可以从日历或下拉菜单中选择

我试过下拉

<p- dropdown *ngSwitchCase="'errorOccuredTime'" [options]="col.field" [style]="{'width':'100%'}" (onChange)="dt.filter($event.value, 'grdFilter', 'in')"> 

export class GrdFilterPipe implements PipeTransform { transform(item: any[], key: string, value: number): any { return item.filter(i => i[key] === new Date(value).getTime().toString()); } }

似乎没有办法奏效。

【问题讨论】:

    标签: angular filter primeng-datatable


    【解决方案1】:
    1. 你需要为“let-item”对象使用“value”属性

      {{item.value.fromDate}}
      
    2. 现在对于令人惊讶的部分,您必须提供“optionLabel”属性,否则您会在下拉列表中看到一个空项目。

    <p-dropdown
        id="season"
        placeholder="Select a season"
        [(ngModel)]="selectedSeason"
        [options]="seasons"
        optionLabel="fromDate">
    
        <ng-template let-item pTemplate="item">
            {{item.value.fromDate | date: 'yyyy'}} - {{item.value.toDate | date: 'yyyy'}}
        </ng-template>
    
        <ng-template let-item pTemplate="selectedItem">
            {{item.value.fromDate | date: 'yyyy'}} - {{item.value.toDate | date: 'yyyy'}}
        </ng-template>
    
    </p-dropdown>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-06
      • 2019-07-19
      • 2021-04-19
      • 2020-02-27
      • 1970-01-01
      • 1970-01-01
      • 2016-10-27
      • 2016-09-25
      相关资源
      最近更新 更多