如何在ionic 4 App中从sqlite数据库中删除键/值对

时间:2019-09-23 15:55:43

标签: angular sqlite ionic4

我正在使用以下代码从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>

screen capture of console.log

2 个答案:

答案 0 :(得分:1)

尝试一下

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

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

答案 1 :(得分:0)

这就是我最后得到的

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
    });
}