NGX 数据表上的 Angular 2 Pipe ShortDate

标签 angular angular2-template angular2-pipe ngx-datatable

我想在 Angular 2 NGX 数据表中将日期列格式化为短日期。

这是 HTML:

<ngx-datatable
  [rows]="toDos"
  [columns]="columns">
</ngx-datatable>

这是组件 TypeScript
import { Component, OnInit } from '@angular/core';
import { IToDo } from '../shared/todo';
import { ToDoService } from '../shared/todo.service';

@Component({
  selector: 'app-todo-list',
  templateUrl: './todo-list.component.html',
  styleUrls: ['./todo-list.component.css']
})

export class TodoListComponent implements OnInit {

  toDos: IToDo[];
  columns = [
    { prop: 'toDoId' },
    { name: 'To Do', prop: 'name' },
    { prop: 'priority' },
    { prop: 'dueDate'  },
    { prop: 'completed' }
  ];

  constructor(private _toDoService: ToDoService) {
  }

  ngOnInit() {
    this.toDos = this._toDoService.getToDos();
  }
}

我在 HTML 中尝试过这个,但它给出了一个模板解析错误:
<ngx-datatable
  [rows]="toDos"
  [columns]="columns"
      <ngx-datatable-column prop="dueDate">
      <ng-template let-value="value" ngx-datatable-cell-template>
        {{value | date[:shortDate]}}
      </ng-template>
    </ngx-datatable-column>
    >
</ngx-datatable>

最佳答案

constructor(
private fb: FormBuilder,
private _currencyPipe: CurrencyPipe,
private _datePipe: DatePipe
) {
this.rows = [
  {from: Date().toString(), to: Date(), amount: 100, verified: false},
  {from: Date(), to: Date(), amount: 100, verified: true},
];
}

ngOnInit() {

this.columns = [
  { name: 'FROM', prop: 'from', pipe: this.datePipe()},
  { name: 'TO', prop: 'to', pipe: this.datePipe()},
  { name: 'AMOUNT', prop: 'amount', width: 85, pipe: this._currencyPipe},
  { name: 'CONFIRM | DELETE', cellTemplate: this.editCell, width: 155}
];
this.buildForm();
}

datePipe () {
return {transform: (value) => this._datePipe.transform(value, 'MM/dd/yyyy')};
}

您始终可以使用编程方法来应用管道,事实上您可以使用这种方法创建自定义管道。
管道 @Input在 ngx-dataTable 中需要一个带有转换的 Pipelike 结构:函数。您可以制作任何返回转换函数并随意操作数据的函数。

关于NGX 数据表上的 Angular 2 Pipe ShortDate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43127932/

相关文章:

json - 如何使用 Angular 显示和过滤深层嵌套的 JSON

javascript - 用于轨道编号的 Angular 2 管

Angular:使用响应式(Reactive)表单(formbuilder)获取文件路径

javascript - 带 ng-sidebar 的 Angular 4,向右添加类

angular - 通知子组件哪个是事件的

html - 将 HTML(带有 Angular 2 指令)从服务器插入 DOM

Angular 2 : Error while using a text filter pipe to filter an array

javascript - 从后端到前端的日期时间值

angular - DomSanitizer 错误 "URL Segment: ' null'”

angular - Angular 模板中的可重用片段