2017-03-14 5 views
0

を更新するときに、私はこのコードをイオンリストのイオンアイテム-スライドを使用しようとしている:イオン2、イオンアイテムスライディングエラーオブジェクト

<ion-list> 
<ion-item-sliding *ngFor="let device of devices" class="item-sliding-joueur-balise"> 
    <ion-item class="item-joueur-balise" *ngIf="device.player"> 
    <ion-avatar item-left><img left="" src={{device.player.urlImage}}/></ion-avatar> 
    <ion-label>{{device.player.name}}</ion-label> 
    <ion-label right>Balise {{device.id}}</ion-label> 
</ion-item> 
<ion-item-options side="right"> 
    <button ion-button class="button-edit-balise" (click)="handleEditBalise(device)"> 
    <ion-icon class="icon-action" name="md-create"></ion-icon> 
    <label class="label-action">Balise</label> 
    </button> 
    <button ion-button color="danger" style="width:80px" (click)="deleteDevice(device)"> 
    <ion-icon class="icon-action-size" name="trash"></ion-icon> 
    <label class="label-action">Supprimer</label> 
    </button> 
</ion-item-options> 
</ion-item-sliding> 

しかし、ときに私がクリックdeleteDevice(デバイス) を実行削除ボタンの上に、私は次のエラーを取得する:

Uncaught TypeError: Cannot read property 'setElementStyle' of undefined 
    at ItemSliding._setOpenAmount (item-sliding.js:396) 
    at ItemSliding.close (item-sliding.js:477) 
    at ItemSlidingGesture.closeOpened (item-sliding-gesture.js:104) 
    at ItemSlidingGesture.canStart (item-sliding-gesture.js:50) 
    at ItemSlidingGesture.PanGesture.pointerDown (drag-gesture.js:79) 
    at PointerEvents.handleTouchStart (pointer-events.js:43) 

deleteDevice機能は次のとおりです。

deleteDevice(device: Device): void { 
    device.player= null; 
    } 

私はリストのデバイス要素を変更しようとすると、このエラーが出ますが、それを解決する方法がわからず、なぜそれが起こっているのでしょうか。

どのようなアイデアをお願いしますか? (私はデバイス上でスプライス機能を使用したくないが、デバイスのプレーヤーをnullに設定している)

ありがとう。

答えて

0

私はそう...あなたは、配列devicesの鍵を渡し、実際のdeviceを削除する場合は、あなたを助けるために

私の考えは、あるので、関数は次のようなものに見える今のところコメントすることはできません。

deleteDevice(key) { 
    this.devices.splice(key, 1); 
} 
+1

スプライスは機能しますが、それは本当に私が望むものではありません。私はちょうどそれがそれにもはやそれにリンクされていないようにデバイスのためのプレーヤーをnullにしたいです。 – batmaniac

+1

@batmaniacよく、他のユーザーのために多分、彼らが望むように動作するはずです。他のオプションがあるのは良いことです。私は助けて願って –

+0

あなたの助けをありがとう:) – batmaniac

1

OK、問題は* ngIf = "device.player" 私は[隠さ] = "device.player!" に置き換え、それが魅力のように働いたから来た、ええ、私は知っている)