angular - 对 ng-select 值使用 firebase 唯一键
问题描述
角度: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,我猜这是错误的,因为它作为“null”存储在 firebase 中。
我的 component.ts 中的项目
packagingProducts = this.db.collection('packaging').snapshotChanges();
似乎我可以使用文档中的所有内容(例如标题),但我不知道如何使用 firebase 唯一键(例如 fBcRUsbEl2Xxka5MKkHu)。
解决方案
好的,所以我想我找到了一个合适的解决方案。在这里偶然发现: 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>
推荐阅读
- amazon-web-services - 公共子网中的角度和私有子网中的后端springboot不使用代理服务器(nginx / apache2)流量如何流动
- javascript - 使用可选参数运行 LIKE 查询 - SQLite3
- html - 文件类型输入的 Ionic 5 接受属性无法正常工作
- css - CSS 伪选择器用于选择可用于兄弟 (+) 或通用兄弟 (~) 选择器的 querySelector 中的当前元素?
- python - 我怎样才能把它们打印得更漂亮?
- deployment - npm 在 nextJS 和 vercel 部署中运行构建错误
- apache-spark - Pyspark 创建数组来存储数据帧的三个键
- c# - ShoppingCart ;收藏已修改; 枚举操作可能无法执行
- typescript - 如何将 Typescript 类型检查步骤包含到“build.sh”脚本文件中?
- javascript - 添加角色命令不起作用(discord.js)