仅为特定类型的数据应用管道或过滤器-Angular 5

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了仅为特定类型的数据应用管道或过滤器-Angular 5相关的知识,希望对你有一定的参考价值。

<span class="date_value">{{SelectedDateText }}</span>
......
....
  <input matInput [matDatepicker]="picker"  [(ngModel)]="SelectedDateText"  >
......

“SelectedDateText”的数据类型是字符串,在某些情况下它也具有字符串值,如“今天”,“昨天”。但是当从matDatepicker中选择日期时,它显示数据(2018年2月27日00:00:00 GMT + 0500(巴基斯坦标准时间))。我不能在SelectedDateText上应用过滤器,因为它也包含字符串。如果value是date数据类型或其他类似的东西,我怎么能设法应用过滤器

答案

有点像(有礼貌的Angular2 use basic pipe in custom pipe

评论后编辑

import {Pipe, PipeTransform} from '@angular/core';
import {DatePipe} from "@angular/common";

@Pipe({name: 'myDatePipe'})
export class MyDatePipe extends DatePipe
{
        transform(value: any, format?: string, timezone?: string, locale?: string): string {
        if (typeof value === "string") {
            return value; // return raw string
        } else {
             return super.transform(arguments); // use the inherited datePipe transform method
        }
    }
}

应该做的伎俩

以上是关于仅为特定类型的数据应用管道或过滤器-Angular 5的主要内容,如果未能解决你的问题,请参考以下文章

异步管道的Angular 9过滤结果

如何从 KeyValue 管道中过滤特定值以显示在 html 表中的特定标题下 |角 6 +

Angular 6:错误类型错误:el.toLowerCase 不是函数

Angular4按过滤器分组不适用于管道:ngx-pipes

Angular2-管道

PropertyGrid:仅为特定属性删除自定义数据类型的属性