【发布时间】:2020-06-17 11:41:08
【问题描述】:
我在 Angular SlickGrid 中有两个日期列,表的列值基于一个类。这两列基于此类的两个日期字段。
我想将这些值显示为 dateTimeShortIso,但对这两列中的每一列都使用 dateRange 过滤器。
由于某种原因,实际使用过滤器时,没有显示任何数据
这是类的相关部分
export class Task {
public createdDate: Date;
public dateUpdated: Date;
}
这是我填充数据集的方式
this._api
.getApiData()
.subscribe((res: Task) => {
this.dataset = res;
});
以下是相关的列定义。
this.columnDefinitions = [
{
id: 'createdDate', name: 'Created Date', field: 'createdDate', sortable: true, filterable: true,
formatter: Formatters.dateTimeShortIso, type: FieldType.date, filter: {
model: Filters.dateRange
}
},
{
id: 'dateUpdated', name: 'Date Updated', field: 'dateUpdated', sortable: true, filterable: true,
formatter: Formatters.dateIso, type: FieldType.date, filter: {
model: Filters.dateRange
}
}
];
【问题讨论】:
-
我认为您还需要
outputType属性以使选择器使用正确的格式type: FieldType.dateUtc, outputType: FieldType.dateTimeIso。无论如何,您的问题中没有足够的信息可以为您提供更多帮助,我所做的示例按预期工作...... -
我已经更新了这个问题,我希望这就够了。我已经使用了您所做的示例,但我不知道这里发生了什么。
-
发现了问题,就是我填充数据集的地方,我不得不重新初始化这些列的日期,例如:createdDate = new Date(createdDate);