我在我的angular 2项目中使用了primeNg p-switch。primeNg输入开关的默认值设置为布尔值。我希望输入开关的值设置为'N'或'Y'而不是真或假
@export class MyComponent{
persons: Person[] = [{'name':'Marvin','legalAge': 'Y'}, {'name':'Carla','legalAge': 'N'} ] }
在html模板中
<p-dataTable [value]="persons">
<p-column field="name" header="Name"></p-column>
<p-column field="legalAge" [sortable]="true" header="is Legal Age?">
<template let-l="rowData" pTemplate>
<p-inputSwitch [(ngModel)]="l"></p-inputSwitch>
</template>
</p-column>
</p-dataTable>
4条答案
按热度按时间i7uq4tfw1#
记住,这个代码
只是语法糖来写这个:
来自双向输入的输出始终使用具有
Change
后缀的事件和$event
作为被分配的值。这里$event
是布尔值。考虑到这一点,你可以像这样使用
p-inputSwitch
:不过,我不确定使用字符串而不是普通的布尔值是否是个好主意。
ghhaqwfi2#
您可以自定义primeNg,如下例所示
将模型声明更改为:
请仔细阅读文档
wwtsj6pe3#
由于
PrimeNG inputSwitch
只绑定为boolean
,所以你需要一个change event函数,并将string
值绑定到new property。你可以使用
(ngModelChange)
或网站上提到的(onChange)="handleChange($event)"
来实现。看到这个工作plunker .
更新了DataTable模块的plunker。:link
a64a0gku4#
试试这个: