【问题标题】:Use firebase unique key for ng-select value对 ng-select 值使用 firebase 唯一键
【发布时间】:2019-11-12 23:49:01
【问题描述】:

角度:8.2.12

我想做什么: 用户创建新产品并为其选择包装产品的表单(另一个集合中的文档)。这些包装产品可能会发生变化(例如价格),因此我想通过为这些文档创建的唯一密钥 firebase 将它们连接起来。

我的 HTML:

<ng-select [items]="packagingProducts | async"
  bindLabel="title"
  placeholder="Select item"
  appendTo="body"
  multiple="true"
  [(ngModel)]="selectedPackaging"
  formControlName="packaging"
  bindValue="key">
</ng-select>

如您所见,我尝试使用 bindValue="key" 保存为文档创建的唯一键 firebase,我猜这是错误的,因为它在 firebase 中存储为“null”。

我的 component.ts 中的项目

packagingProducts = this.db.collection('packaging').snapshotChanges();

似乎我可以使用文档中的所有内容(例如标题),但我不知道如何使用 firebase 唯一键(例如 fBcRUsbEl2Xxka5MKkHu)。

【问题讨论】:

    标签: angular firebase google-cloud-firestore


    【解决方案1】:

    好的,所以我想我找到了一个合适的解决方案。在这里偶然发现: https://javebratt.com/angularfire-idfield/

    为我的 ng-select 获取项目:

    packagingProducts = this.db.collection('packaging').valueChanges({ idField: 'packagingproductId' });
    

    我的 HTML:

    <ng-select [items]="packagingProducts | async"
      bindLabel="title"
      bindValue="packagingproductId"
      placeholder="Select item"
      appendTo="body"
      multiple="true"
      [(ngModel)]="selectedPackaging"
      formControlName="packaging">
    </ng-select>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-16
      • 1970-01-01
      • 2020-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多