PrimeNG Dropdown值为字符串而不是对象

时间:2018-04-27 18:58:18

标签: typescript angular5 primeng primeng-dropdowns

PrimeNG dropdown中,是否有任何附加选项可以添加' optionValue'。

目前有一个 OSData * data; IORegistryEntry * entry; OSString * string = 0; uuid_string_t uuid; const IORegistryPlane * gIODTPlane; entry = IORegistryEntry :: fromPath ("/efi/platform", gIODTPlane); if (entry) { data = OSDynamicCast (OSData, entry-> getProperty ("SystemSerialNumber")); if (data && data-> getLength () == 16) { string = OSString :: withCString ((char const *) data-> getBytesNoCopy ()); } entry-> release (); } 属性但无法选择属性来表示值,因此最终会得到整个对象。基本上在PrimeNG下拉列表中,尝试传递字符串而不是整个对象

2 个答案:

答案 0 :(得分:0)

根据文档,属性 passport.authenticate('local',function (err, user, info) { if(err){ res.redirect('/login') } else{ if (! user) { res.redirect('/login') } else{ req.login(user, function(err){ if(err){ res.redirect('/login') }else{ res.redirect('/success') } }) } } })(req, res); 应该可以满足您的要求,但我无法使其正常工作

  

dataKey:用于唯一标识选项中值的属性。

答案 1 :(得分:0)

我相信当前版本的 PrimeNG (11.x) 正是您正在寻找的,正如您所说的“optionValue”。一个有趣的行为是,当您使用 optionLabel 时,返回值变成了一个对象。假设我正在处理以下问题:

component.ts

places = [
{name: "New York", label: "Work", value: 200},
{name: "Michigan", label: "Home", value: 100} 
];

selectedPlace;

HTML 场景 1:默认行为

<p-dropdown [options]="places" 
 [(ngModel)]="selectedPlace" 
 [ngModelOptions]="{standalone: true}" 
 placeholder="Select">
</p-dropdown> <!-- Shows Work or Home looking up 'label' -->
<pre>{{selectedPlace}}</pre> <!-- shows 100 or 200 depending on selection -->

HTML 场景 2:指定自定义标签

<p-dropdown [options]="places" 
[(ngModel)]="selectedPlace" 
[ngModelOptions]="{standalone: true}" 
placeholder="Select" 
optionLabel="name">
</p-dropdown> <!-- Shows New York or Michigan looking up 'name' -->
<pre>{{selectedPlace | json }}</pre> <!-- SHOWS ENTIRE SELECTED OBJECT DEPENDING ON SELECTION -->

HTML 场景 3:指定自定义值

<p-dropdown [options]="places" 
[(ngModel)]="selectedPlace" 
[ngModelOptions]="{standalone: true}" 
placeholder="Select" 
optionValue="name">
</p-dropdown> <!-- Shows Home or Work looking up 'label' -->
<pre>{{selectedPlace }}</pre> <!-- Shows New York or Michigan depending on selection -->

HTML 场景 4:指定自定义标签和自定义值

<p-dropdown [options]="places" 
[(ngModel)]="selectedPlace" 
[ngModelOptions]="{standalone: true}" 
placeholder="Select" 
optionLabel="name" 
optionValue="value">
</p-dropdown> <!-- Shows New York or Michigan looking up 'name' -->
<pre>{{selectedPlace | json }}</pre> <!-- Shows 100 or 200 depending on selection -->

如你所见,使用当前的primeNG(11.x),如果你使用optionLabel,你可以使用optionValue只获取字符串,因为如果你不指定optionValue,你会得到一个完整的对象.