Ionic/Angluar NGX 数据表:将布尔值转换为字符串
Ionic/Angluar NGX Datatable: Transform boolean values to string
我正在开发一个 Ionic/Angular 应用程序并且我正在使用 NGX 数据table。它工作得很好,但我需要显示一列的布尔值而不是“true”或“false”(英语) - 我需要用德语显示布尔值(“true”=“Ja”,“false " = "不存在").
问题是我使用的是自动生成的列,所以我在 html 中的数据table 看起来像这样:
<ngx-datatable [selectionType]="'single'" (select)="openDetailsPage($event)" [messages]="messages"
class="bootstrap" [limit]="10" [rows]="allOpenTickets" [rowHeight]="50" [columns]="columns"
[columnMode]="'force'" [sortType]="'multi'" [headerHeight]="50" [footerHeight]="50"
[rowClass]="getRowClass">
</ngx-datatable>
我用打字稿定义我的专栏,例如:
this.columns = [
{ name: 'Id', prop: 'id' },
{ name: 'Ziel', prop: 'goalDate', pipe: this.datePipe() },
{ name: 'Erstellt', prop: 'created' , pipe: this.datePipe() },
{ name: 'Titel', prop: 'title' },
{name:'Erledigt',prop:'done'}
];
如您所见,我使用日期类型来转换日期,是否有类似布尔值的管道之类的东西?还是我不应该使用自动生成的列,而是创建自己的列?
我的最终 table 应该是这样的:
final table picture
您可以使用您希望转换数据的任何类型的管道 - 甚至是您的自定义管道(根据文档 here). This is the signature of a PipeTransform。
所以您可能想要以下内容:
germanBooleanPipe(): PipeTransform {
return {
transform: (value: boolean) => value ? "Ja" : "Nein";
}
并将该管道应用于您的列:
this.columns = [
{ name: 'Id', prop: 'id' },
{ name: 'Ziel', prop: 'goalDate', pipe: this.datePipe() },
{ name: 'Erstellt', prop: 'created' , pipe: this.datePipe() },
{ name: 'Titel', prop: 'title' },
{ name:'Erledigt', prop:'done', pipe: this.germanBooleanPipe() }
];
请注意,我自己从未使用过 ngx-datatable
,因此可能需要进行一些小的调整。
我正在开发一个 Ionic/Angular 应用程序并且我正在使用 NGX 数据table。它工作得很好,但我需要显示一列的布尔值而不是“true”或“false”(英语) - 我需要用德语显示布尔值(“true”=“Ja”,“false " = "不存在").
问题是我使用的是自动生成的列,所以我在 html 中的数据table 看起来像这样:
<ngx-datatable [selectionType]="'single'" (select)="openDetailsPage($event)" [messages]="messages"
class="bootstrap" [limit]="10" [rows]="allOpenTickets" [rowHeight]="50" [columns]="columns"
[columnMode]="'force'" [sortType]="'multi'" [headerHeight]="50" [footerHeight]="50"
[rowClass]="getRowClass">
</ngx-datatable>
我用打字稿定义我的专栏,例如:
this.columns = [
{ name: 'Id', prop: 'id' },
{ name: 'Ziel', prop: 'goalDate', pipe: this.datePipe() },
{ name: 'Erstellt', prop: 'created' , pipe: this.datePipe() },
{ name: 'Titel', prop: 'title' },
{name:'Erledigt',prop:'done'}
];
如您所见,我使用日期类型来转换日期,是否有类似布尔值的管道之类的东西?还是我不应该使用自动生成的列,而是创建自己的列?
我的最终 table 应该是这样的: final table picture
您可以使用您希望转换数据的任何类型的管道 - 甚至是您的自定义管道(根据文档 here). This is the signature of a PipeTransform。
所以您可能想要以下内容:
germanBooleanPipe(): PipeTransform {
return {
transform: (value: boolean) => value ? "Ja" : "Nein";
}
并将该管道应用于您的列:
this.columns = [
{ name: 'Id', prop: 'id' },
{ name: 'Ziel', prop: 'goalDate', pipe: this.datePipe() },
{ name: 'Erstellt', prop: 'created' , pipe: this.datePipe() },
{ name: 'Titel', prop: 'title' },
{ name:'Erledigt', prop:'done', pipe: this.germanBooleanPipe() }
];
请注意,我自己从未使用过 ngx-datatable
,因此可能需要进行一些小的调整。