如何从 ionic 4 App 中的 sqlite 数据库中删除 key/value 对

How do I delete a key/value pair from a sqlite db in an ionic 4 App

我正在使用以下代码从 sqlite 数据库中获取密钥并将它们显示在离子列表中。我想要完成的是使用 deleteKeyValue() 方法从 sqlite 数据库中删除选定的键 {{loop[i]}}。我缺少的是如何将 {{loop[i]}} 的值传递给 this.storage.remove("");在此先感谢您对此事的任何帮助。

.ts

// Traverse key/value pairs

listKeys() {
  this.storage.keys().then((k) => {
    console.table(k)
    this.loop = k;
    console.log("key value", this.loop);
  });
}

// Delete selected key/value pair

deleteKeyValue() {
  console.log("Delete key");
  this.storage.remove('passed value from {{loop[i]}} as string');
}

.html

<ion-list>
    <ion-item-divider>
        <ion-label>
          List of rows
        </ion-label>
      </ion-item-divider>
    <ion-item-sliding *ngFor="let list of loop; index as i">
      <ion-item>
          {{loop[i]}}
      </ion-item>
      <ion-item-options side="end">
        <ion-item-option (click)="deleteKeyValue()" color="danger">
            <ion-icon slot="icon-only" name="trash"></ion-icon>
          </ion-item-option>
      </ion-item-options>
    </ion-item-sliding>
  </ion-list>

试试这个

  deleteKeyValue(value) {
   this.storage.remove(value);
  }

  this.deleteKeyValue(this.loop[i]);

这是我最终得到的

html

<ion-list lines="inset">
  <ion-item-divider>
    <ion-label>
      List of Audits
    </ion-label>
  </ion-item-divider>
  <ion-item-sliding *ngFor="let list of loop; index as i">
    <ion-item>
        {{loop[i]}}
    </ion-item>
    <ion-item-options side="end">
      <ion-item-option (click)="deleteKeyValue( loop[i] )" color="danger">
        <ion-icon slot="icon-only" name="trash"></ion-icon>
      </ion-item-option>
    </ion-item-options>
  </ion-item-sliding>
</ion-list>

.ts

// Traverse key/value pairs
listKeys() {
  this.storage.keys().then((k) => {
    console.table(k)
    this.loop = k;
    console.log("key value", this.loop);
  });
}

// Delete selected key/value pair

deleteKeyValue(value: string) {  // infer the value as a string
    console.log("test", value);
    this.storage.remove(value).then(() => {
      this.listKeys();  // refreshes list
    });
}