【问题标题】:How to use primeng dropdown?如何使用primeng下拉菜单?
【发布时间】:2019-04-03 06:47:28
【问题描述】:

我使用“选择”作为下拉菜单。下面是代码。

<div class="ui-grid-col-6">
      <div class="form-group">
        <select name="status" formControlName="purchaseOrderStatusId">
          <option>Select PurchaseOrderStatus</option>
          <option *ngFor="let PurchaseOrderStatus of allPurchaseOrderStatus" value="{{ PurchaseOrderStatus.id }}">
                 {{ PurchaseOrderStatus.code }}
          </option>
        </select>
     </div>
</div>

API 中的所有值都保存在变量 allPurchaseOrderStatus 中。

我希望 id 作为我的存储值,code 作为显示值。

我需要使用 primeNg 组件的相同概念。

【问题讨论】:

  • 有人能帮帮我吗?
  • @Angle 请检查我的回答,它将帮助您在应用中添加下拉菜单。

标签: angular angular6 angular5 angular7


【解决方案1】:

您可以使用类似下面的代码将PrimeNG 下拉列表替换为您现有的。

第 1 步:在您的组件中导入 DropdownModule。

import {DropdownModule} from 'primeng/dropdown';

第 2 步:在 html 中添加下拉菜单:

<p-dropdown [options]="PurchaseOrderStatus" [(ngModel)]="selectedPurchaseOrderStatus" optionLabel="code">

所以在selectedPurchaseOrderStatus 中,您将获得选定的订单对象,您可以获得像selectedPurchaseOrderStatus.id 这样的id。

您还可以使用OnChange 事件来获取选定的选项。

onChange()

event.originalEvent:浏览器事件

event.value:选择的选项值

当下拉列表的值改变时调用的回调。

如需更多示例,请查看 PrimeNG 中的 Dropdown 链接。

PrimeNG Dropdown

希望这会有所帮助。

【讨论】:

  • 谢谢。。这里所说的“selectedPurchaseOrderStatus”是什么意思。是保存所有 Api 值的变量。让我知道。在这里我们写显示值和存储值??
  • 我是角度新手。请给我一个解释??
  • selectedPurchaseOrderStatus 存储任何选定值的对象。 PurchaseOrderStatus 是您存储 api 响应的数组。
  • 显示和存储值将自动从您提供的数组中获取。
【解决方案2】:

首先,您需要在 TS 文件中创建一个包含标签和值字段的数组。 像这样:

PurchaseOrderStatus=[
 {label:'code1',value:'id1'},
 {label:'code2',value:'id2'},
 .....
]

这里,在label字段中,需要赋值code,因为label字段会作为下拉列表中的显示值,而在value字段中,需要赋值id 因为它将用作该特定选项的存储值。

在 HTML 文件中

<div class="ui-grid-col-6">
      <div class="form-group">
       <p-dropdown [options]="PurchaseOrderStatus" [(ngModel)]="selectedOrders" [filter]="true"></p-dropdown>
     </div>
</div>

【讨论】:

  • PurchaseOrderStatus=[ {label:'code1',value:'id1'}, {label:'code2',value:'id2'}, .....]我认为code1, code2 ...你提到的是要在下拉列表中显示的值。但是我得到的所有值都来自 Api 以及我存储在变量“allPurchaseOrderStatus”中的所有值。无法将所有值写入 ts 文件
  • primefaces.org/primeng/#/dropdown 根据this doc for using primeng dropdown,您需要创建这种类型的JSON数组,以便您需要使用for循环从“allPurchaseOrderStatus”变量中提取这些值并将其添加到其他数组,然后您可以将其用于下拉列表。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-11-30
  • 2017-10-07
  • 1970-01-01
  • 2021-03-02
  • 2020-10-02
  • 1970-01-01
相关资源
最近更新 更多