我正在使用以下代码从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>
答案 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
});
}