卡在按值/子键删除父推送键

Stuck at deleting parent pushed key by value/childkey(卡在按值/子键删除父推送键)
本文介绍了卡在按值/子键删除父推送键的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我想按值/子键删除父按键:

I want to delete a parent pushed key by value/childkey:

export class FaqsPage {
  qS: Observable<any[]>;
  ques = '';
  ans = '';

constructor(private db: AngularFireDatabase) {}
ionViewDidLoad() { this.qS = this.db.list('table/faq').valueChanges(); }

removeItem(id){this.db.list('table/faq').remove(id);}

removeItem() 删除所有按键.难怪,因为我无法获得父密钥

removeItem() deleting the whole all pushed keys. No wonder because i couldn't get the parent key

//faq.html
<ion-list>
    <ion-item-sliding *ngFor="let el of qS | async">
      <ion-item>
        <b>{{ el.Q }}</b><br>{{ el.A }}
      </ion-item>
      <ion-item-options side="right">
        <button ion-button color="red" icon-only (click)="removeItem(el.key)"><ion-icon name="trash"></ion-icon></button>
      </ion-item-options>
    </ion-item-sliding>
  </ion-list>

由于 valueChanges()

el.key doesn't get the the key (e.g. Kzwv8d_i-0QZuf2NT8Z) because of valueChanges() and i have no idea how to do it within current iteration.

推荐答案

希望你用的是angularfire2

I hope you are using angularfire2

this.qS = this.db.list('table/faq').snapshotChanges().map(changes => {
  return changes.map(c => ({ key: c.payload.key, ...c.payload.val() }));
});

这将返回带有键的 qS

这篇关于卡在按值/子键删除父推送键的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

How do I can get a text of all the cells of the table using testcafe(如何使用 testcafe 获取表格中所有单元格的文本)
node_modules is not recognized as an internal or external command(node_modules 未被识别为内部或外部命令)
How can I create conditional test cases using Protractor?(如何使用 Protractor 创建条件测试用例?)
PhantomJS and clicking a form button(PhantomJS 并单击表单按钮)
Clicking #39;OK#39; on alert or confirm dialog through jquery/javascript?(在警报上单击“确定或通过 jquery/javascript 确认对话框?)
QunitJS-Tests don#39;t start: PhantomJS timed out, possibly due to a missing QUnit start() call(QunitJS-Tests 不启动:PhantomJS 超时,可能是由于缺少 QUnit start() 调用)