Ionic-framework: [Ionic V4.0.0-beta.7] [ion-item-sliding] λ°°μ—΄μ˜ μš”μ†Œλ₯Ό λΉ„μš΄ ν›„ μŠ¬λΌμ΄λ”©μ΄ μž‘λ™ν•˜μ§€ μ•ŠμŒ

에 λ§Œλ“  2018λ…„ 09μ›” 07일  Β·  30μ½”λ©˜νŠΈ  Β·  좜처: ionic-team/ionic-framework

버그 μ‹ κ³ 

이온 정보
터미널 / cmd ν”„λ‘¬ν”„νŠΈμ—μ„œ ionic info λ₯Ό μ‹€ν–‰ν•˜κ³  μ•„λž˜ 좜λ ₯을 λΆ™μ—¬ λ„£μŠ΅λ‹ˆλ‹€.

Ionic:

   ionic (Ionic CLI)          : 4.1.2 (C:\Users\fkrishna\AppData\Roaming\npm\node_modules\ionic)
   Ionic Framework            : @ionic/angular 4.0.0-beta.7
   @angular-devkit/core       : 0.7.5
   @angular-devkit/schematics : 0.7.5
   @angular/cli               : 6.1.5
   @ionic/ng-toolkit          : 1.0.8
   @ionic/schematics-angular  : 1.0.6

System:

   NodeJS : v8.11.3 (C:\Program Files\nodejs\node.exe)
   npm    : 5.6.0
   OS     : Windows 10

버그 μ„€λͺ…
3 개 μš”μ†Œμ˜ 배열을 λ§Œλ“€κ³ κ·Έλ¦¬κ³ μŠ¬λΌμ΄λ”© ν•­λͺ© λͺ©λ‘μ„ ν‘œμ‹œν•˜λŠ” μ§€μ‹œ. 각 ν•­λͺ©μ—λŠ” λŒ€μƒ μš”μ†Œλ₯Ό μ œκ±°ν•˜λŠ” 제거 λ²„νŠΌμ΄ μžˆμ§€λ§Œ ν•œ μš”μ†Œλ₯Ό μ œκ±°ν•˜λ©΄ λ‚˜λ¨Έμ§€ ν•­λͺ©μ— λŒ€ν•΄ μŠ¬λΌμ΄λ”©μ΄ μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

μž¬ν˜„ 단계
λ™μž‘μ„ μž¬ν˜„ν•˜λŠ” 단계 :

  1. 이동 '...'
  2. 클릭 '....'
  3. '....'κΉŒμ§€ μ•„λž˜λ‘œ μŠ€ν¬λ‘€ν•©λ‹ˆλ‹€.
  4. 였λ₯˜ μ°Έμ‘°

κ΄€λ ¨ μ½”λ“œ

<ion-content>
  <ion-list>
    <ion-item-sliding *ngFor="let n of numbers; index as i">
      <ion-item>
        {{ n }}
      </ion-item>
      <ion-item-options>
        <ion-item-option " (click)="remove(i)">Delete</ion-item-option>
      </ion-item-options>
    </ion-item-sliding>
  </ion-list>
numbers = ['1','2','3'];
  constructor() {}
  remove(i) {
    this.numbers.splice(i, 1);
}

μ˜ˆμƒλ˜λŠ” λ™μž‘
μŠ¬λΌμ΄λ”©μ€ μš”μ†Œλ₯Ό μ œκ±°ν•œ 후에도 각 ν•­λͺ©μ— λŒ€ν•΄ μ˜¬λ°”λ₯΄κ²Œ μž‘λ™ν•œλ‹€κ³  κ°€μ •ν•©λ‹ˆλ‹€.

μΆ”κ°€ μ»¨ν…μŠ€νŠΈ
λ¬Έμ œμ™€ κ΄€λ ¨λœ 기타 정보λ₯Ό λ‚˜μ—΄ν•˜μ‹­μ‹œμ˜€. μŠ€νƒ 좔적, κ΄€λ ¨ 문제, ν•΄κ²° 방법에 λŒ€ν•œ μ œμ•ˆ, Stack Overflow 링크, 포럼 링크, 슀크린 μƒ·, OS (ν•΄λ‹Ήλ˜λŠ” 경우) λ“±

core bug

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

λ˜ν•œ μš”μ†Œμ˜ 동적 λͺ©λ‘κ³Ό ν•¨κ»˜ λ™μΌν•œ λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€.ꡬ성 μš”μ†Œλ₯Ό μƒˆλ‘œ 고치면 μƒˆλ‘œ κ³ μΉ  λ•ŒκΉŒμ§€ λ‹€λ₯Έ μš”μ†Œλ₯Ό μ‚­μ œν•  수 μ—†μŠ΅λ‹ˆλ‹€.

주변을 νŒŒν—€μΉœ ν›„ μš”μ†Œλ₯Ό μƒˆλ‘œ κ³ μΉ˜μ§€ μ•Šμ•„λ„ 잘 μž‘λ™ν•œλ‹€λŠ” 것을 μ•Œμ•˜μŠ΅λ‹ˆλ‹€. λ¬Έμ„œλ₯Ό 보면 ν•­λͺ© λ˜λŠ” λͺ©λ‘μ˜ λͺ¨λ“  μŠ¬λΌμ΄λ”© ν•­λͺ©μ„ λ‹«λŠ” 방법이 μžˆμŠ΅λ‹ˆλ‹€. 이것을 μ‚¬μš©ν•˜λ©΄ λ¬Έμ œκ°€ ν•΄κ²°λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

  1. 이온 λͺ©λ‘μ— ID #dynamicList
  2. ID @ViewChild('dynamicList') dynamicList; ν•΄λ‹Ή λͺ©λ‘μ— μ•‘μ„ΈμŠ€
  3. <ion-item-option> ν΄λ¦­ν•˜λ©΄ λ ˆμ½”λ“œλ₯Ό μ‚­μ œν•˜κΈ° 전에 dynamicList.closeSlidingItems() νŠΈλ¦¬κ±°λ©λ‹ˆλ‹€.

κ·Έλ™μ•ˆ 이것이 λ„μ›€μ΄λ˜κΈ°λ₯Ό λ°”λžλ‹ˆλ‹€. λ‚˜λŠ” μ•΅κ·€λŸ¬κ°€ μ²˜μŒμ΄λ―€λ‘œ 어리석은 μΌμ„ν•˜κ³  μžˆμ§€ μ•ŠκΈ°λ₯Ό λ°”λžλ‹ˆλ‹€.

λͺ¨λ“  30 λŒ“κΈ€

λ‚˜λŠ” 같은 λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€.
참고둜 ν•­λͺ© μ‚­μ œ ν›„ μŠ¬λΌμ΄λ”© ν•­λͺ©μ΄ μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 앱을 λ‹€μ‹œλ‘œλ“œν•΄μ•Όν•©λ‹ˆλ‹€.

@ quynh-ng λ‚˜λ„ 같은 λ¬Έμ œκ°€ μžˆλŠ”λ°, beta.5둜 λ‹€μš΄ κ·Έλ ˆμ΄λ“œν•΄μ•Όν–ˆμŠ΅λ‹ˆλ‹€ :(

웃긴, κ·Έλƒ₯ κ·Έ λ¬Έμ œμ— μ°©μ§€ν–ˆμŠ΅λ‹ˆλ‹€. μŠ¬λΌμ΄λ”© λͺ©λ‘μ˜ ν•­λͺ©μ— λŒ€ν•œ μž‘μ—…μœΌλ‘œ μ‚­μ œν•˜λ©΄ λ‚˜λ¨Έμ§€ ν•­λͺ©μ€ 더 이상 μŠ¬λΌμ΄λ“œ ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

μΆ”μ‹  : 베타 .8μ—μ„œλ„ λ§ˆμ°¬κ°€μ§€μž…λ‹ˆλ‹€.

@ quynh-ng 같은 -_-

λ˜ν•œ μš”μ†Œμ˜ 동적 λͺ©λ‘κ³Ό ν•¨κ»˜ λ™μΌν•œ λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€.ꡬ성 μš”μ†Œλ₯Ό μƒˆλ‘œ 고치면 μƒˆλ‘œ κ³ μΉ  λ•ŒκΉŒμ§€ λ‹€λ₯Έ μš”μ†Œλ₯Ό μ‚­μ œν•  수 μ—†μŠ΅λ‹ˆλ‹€.

주변을 νŒŒν—€μΉœ ν›„ μš”μ†Œλ₯Ό μƒˆλ‘œ κ³ μΉ˜μ§€ μ•Šμ•„λ„ 잘 μž‘λ™ν•œλ‹€λŠ” 것을 μ•Œμ•˜μŠ΅λ‹ˆλ‹€. λ¬Έμ„œλ₯Ό 보면 ν•­λͺ© λ˜λŠ” λͺ©λ‘μ˜ λͺ¨λ“  μŠ¬λΌμ΄λ”© ν•­λͺ©μ„ λ‹«λŠ” 방법이 μžˆμŠ΅λ‹ˆλ‹€. 이것을 μ‚¬μš©ν•˜λ©΄ λ¬Έμ œκ°€ ν•΄κ²°λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

  1. 이온 λͺ©λ‘μ— ID #dynamicList
  2. ID @ViewChild('dynamicList') dynamicList; ν•΄λ‹Ή λͺ©λ‘μ— μ•‘μ„ΈμŠ€
  3. <ion-item-option> ν΄λ¦­ν•˜λ©΄ λ ˆμ½”λ“œλ₯Ό μ‚­μ œν•˜κΈ° 전에 dynamicList.closeSlidingItems() νŠΈλ¦¬κ±°λ©λ‹ˆλ‹€.

κ·Έλ™μ•ˆ 이것이 λ„μ›€μ΄λ˜κΈ°λ₯Ό λ°”λžλ‹ˆλ‹€. λ‚˜λŠ” μ•΅κ·€λŸ¬κ°€ μ²˜μŒμ΄λ―€λ‘œ 어리석은 μΌμ„ν•˜κ³  μžˆμ§€ μ•ŠκΈ°λ₯Ό λ°”λžλ‹ˆλ‹€.

λͺ¨λ“  μ˜μ›…μ΄ 망토λ₯Ό μ°©μš©ν•˜λŠ” 것은 μ•„λ‹™λ‹ˆλ‹€. @jcollings κ°€ ν•΄κ²°μ±…μž…λ‹ˆλ‹€!

html :

 <ion-list #slidingList>
   <ion-item-sliding>
     <ion-item-options side="end">
        <ion-item-option (click)="delete()">
        </ion-item-option>
     </ion-item-options>
   </ion-item-sliding>
 </ion-list>

TS :

 import {List} from '@ionic/angular';

 @ViewChild('slidingList') slidingList: List;

 async delete() {
   // something
   await this.slidingList.closeSlidingItems();
 }

@peterpeterparker 잘 μž‘λ™ν•˜μ§€λ§Œ ν•΄κ²°μ±… λ˜λŠ” ν•΄κ²° λ°©λ²•μž…λ‹ˆκΉŒ?

@ Anthony2539 μ•„λ§ˆ λ‘˜ λ‹€ μ•½κ°„ : stuck_out_tongue_winking_eye :

κΈ°λŠ₯ μš”μ²­μΈμ§€ 버그인지 λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€.

μ΅œκ·Όμ— λ―Έλ„λŸ¬μ§μ— λŒ€ν•œ 컀밋이 μžˆμ—ˆλŠ”λ° λ¬Έμ œκ°€ μ‚¬λΌμ§ˆμ§€λ„ λͺ¨λ₯΄κ² λ„€μš”

μ–΄μ¨Œλ“ , ν•΄κ²° 방법이 μž‘λ™ν•˜κ³  λ‚΄ 앱이 μž‘λ™ν•˜μ§€ μ•ŠλŠ”λ‹€κ³  κ°€μ • ν•΄ λ³΄κ² μŠ΅λ‹ˆλ‹€.

e2e ν…ŒμŠ€νŠΈλ₯Ό λ‹€μ‹œ ν†΅κ³Όν•˜κΈ° μœ„ν•΄ λ‹€μš΄ κ·Έλ ˆμ΄λ“œν•΄μ•Όν–ˆκΈ° λ•Œλ¬Έμ— 버그라고 μƒκ°ν•©λ‹ˆλ‹€.

이 λ¬Έμ œλŠ” λΆ„λͺ…νžˆ λ²„κ·Έμž…λ‹ˆλ‹€. ν•­λͺ©μ„ μ œκ±°ν•˜λ©΄ μ‚­μ œν•˜κΈ° 전에 닫을 ν•„μš”κ°€ μ—†μŠ΅λ‹ˆλ‹€. μž¬λ°ŒμŠ΅λ‹ˆλ‹€.

또 λ‹€λ₯Έ ν•΄κ²° 방법은 ItemSliding에 λŒ€ν•œ μ°Έμ‘°λ₯Ό delete λ©”μ„œλ“œμ— μ „λ‹¬ν•œ λ‹€μŒ λͺ©λ‘ ν•­λͺ©μ„ μ‚­μ œν•˜κΈ° 전에 ν•΄λ‹Ή ν•­λͺ©μ„ λ‹«λŠ” κ²ƒμž…λ‹ˆλ‹€.

HTML :

<ion-list>
  <ion-item-sliding *ngFor="let item of items" #slidingItem>
    <ion-item>>
      {{item.text}}
    </ion-item>
    <ion-item-options (ionSwipe)="deleteItem(slidingItem, item)">
      <ion-button color="danger" (click)="deleteItem(slidingItem, item)">
        <ion-icon name="trash"></ion-icon>
        Delete
      </ion-button>
    </ion-item-options>
  </ion-item-sliding>
</ion-list>

TS :

async deleteItem(slidingItem: ItemSliding, item: Item) {
    slidingItem.close(); // <-- this is the important bit!
    await this.itemService.deleteItem(item);
  }

@ mimacom-klier 제 문제λ₯Ό μ™„λ²½ν•˜κ²Œ ν•΄κ²° ν•΄μ£Όμ…”μ„œ λŒ€λ‹¨νžˆ κ°μ‚¬ν•©λ‹ˆλ‹€.

λ‚˜λ₯Ό μœ„ν•΄ μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€!

close λ˜λŠ” closeSlidingItems λ©”μ„œλ“œλ₯Ό ν˜ΈμΆœν•˜κ±°λ‚˜ ν˜ΈμΆœν•˜μ§€ μ•Šκ³  ν•΄κ²° 방법이 μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
λ‚΄κ°€ μ•Œμ•„ μ°¨λ¦° 것은 ν•­λͺ©μ„ μˆ¨κ²Όλ‹€κ°€ λ‹€μ‹œ ν‘œμ‹œ ν•œ ν›„ μŠ¬λΌμ΄λ”©μ΄ μž‘λ™ν•˜μ§€ μ•ŠλŠ” 것 κ°™μ§€λ§Œ ν•­λͺ©μ„ μŠ¬λΌμ΄λ“œ ν•œ λ‹€μŒ λ²„νŠΌμ΄ μžˆμ–΄μ•Όν•˜λŠ” μœ„μΉ˜λ₯Ό ν΄λ¦­ν•˜λ©΄ μ‹€μ œλ‘œ λ²„νŠΌ λ™μž‘μ„ 트리거 ν•  수 μžˆλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€.
λ‹€μŒμ€ Stackblitz 예제 μž…λ‹ˆλ‹€.
Stackblitzμ—μ„œλŠ” @ionic/[email protected] ν•˜κ³  μžˆμ§€λ§Œ 둜컬 μ»΄ν“¨ν„°μ˜ @ionic/[email protected] 에도 λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€.

@bockoblur : Stackblitz 예제λ₯Ό ν™•μΈν•˜κ³  μ•½κ°„ λ†€μ•˜μŠ΅λ‹ˆλ‹€. λͺ©λ‘μ—μ„œ ν•­λͺ©μ„ μ‹€μ œλ‘œ μ‚­μ œν•˜λ©΄ ν•΄κ²° 방법이 μ œλŒ€λ‘œ μž‘λ™ν•˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€. λ‹¨μˆœνžˆ μˆ¨κ²¨μ‘Œλ‹€κ°€ λ‹€μ‹œ ν‘œμ‹œλ˜λŠ” κ²½μš°μ—λŠ” μ„€λͺ…ν•œλŒ€λ‘œ λ™μž‘ν•©λ‹ˆλ‹€. 이것은 λ³€ν™˜μ˜ 문제인 것 κ°™μŠ΅λ‹ˆλ‹€ : λͺ©λ‘ ν•­λͺ© μš”μ†Œμ— μ˜¬λ°”λ₯΄κ²Œ μ μš©λ˜μ§€ μ•ŠλŠ” λ²ˆμ—­. ItemSliding ꡬ성 μš”μ†ŒλŠ” μ—¬μ „νžˆ 이전 DOM μ°Έμ‘°λ₯Ό μ‚¬μš©ν•˜μ—¬ ν•­λͺ©μ„ λ²ˆμ—­ ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μˆ˜μ • 된 μ˜ˆλŠ” μ—¬κΈ°μ—μ„œ 찾을 수 μžˆμŠ΅λ‹ˆλ‹€. https://stackblitz.com/edit/ionic-4-item-sliding-show-hide-error-zxgbmf

쑰사해 μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€. 잘 μž‘λ™ν•©λ‹ˆλ‹€.
κ·ΈλŸΌμ—λ„ λΆˆκ΅¬ν•˜κ³  이것은 μ—¬μ „νžˆ ​​ionic νŒ€μ—μ„œ ν•΄κ²°ν•΄μ•Ό ν•  λ¬Έμ œμž…λ‹ˆλ‹€ ...

@ mimacom-klier ν•΄κ²° 방법은 μ΅œμ‹  Ionic (4.5.0)μ—μ„œ μ €μ—κ²Œ νš¨κ³Όμ μž…λ‹ˆλ‹€.

νŽΈμ§‘ : @jcollings μ†”λ£¨μ…˜μ„ μ‚¬μš©ν•˜λ©΄ ν•­λͺ© μΆ”κ°€ 및 / λ˜λŠ” μ—…λ°μ΄νŠΈμ— μΆ”κ°€λ‘œ μž‘λ™ν•˜μ—¬ λ™μΌν•œ λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€. κ°μ‚¬ν•©λ‹ˆλ‹€!

이 μ†”λ£¨μ…˜μ€ λ‹€μŒμ„ μ‚¬μš©ν•˜μ—¬ μ €μ—κ²Œ νš¨κ³Όμ μž…λ‹ˆλ‹€.
Ionic CLI : 4.5.0
Ionic ν”„λ ˆμž„ μ›Œν¬ : @ ionic / angular 4.0.0-beta.17

κ·ΈλŸ¬λ‚˜ λ‚˜λŠ” 이것이 μ—¬μ „νžˆ ν•΄κ²°λ˜μ–΄μ•Ό ν•  문제라고 μƒκ°ν•˜λ©°, μ–΄λ–€ κ°œλ°œμžλ„μ΄ λ™μž‘μ„ κΈ°λŒ€ν•  것 같지 μ•ŠμŠ΅λ‹ˆλ‹€.

저도 λ§ˆμ°¬κ°€μ§€μž…λ‹ˆλ‹€. ν•΄κ²° 방법 shmorkaround. μ€‘μš”ν•œ 것은 μ €λ₯Ό 큰 κ΅¬λ©μ—μ„œ @jcollings μ—κ²Œ κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€.

Wauw ..이 λ¬Έμ œμ— λŒ€ν•΄ ν•˜λ£¨ 쒅일 머리λ₯Ό κ°μ‹Έκ³ μžˆμ—ˆμŠ΅λ‹ˆλ‹€ (λͺ©λ‘ ν•­λͺ©μ„ μ—…λ°μ΄νŠΈ ν•œ 후에도 μŠ¬λΌμ΄λ“œκ°€ μž‘λ™ν•˜μ§€ μ•ŠμŒ). 이제 κ·Έ 이유λ₯Ό μ•Œμ•„ λƒˆμŠ΅λ‹ˆλ‹€. ν•΄κ²° 방법에 λŒ€ν•΄ @jcollings μ—κ²Œ

μ•ˆλ…•ν•˜μ„Έμš”,

μ•„λž˜ λ¬Έμ œμ— 직면 :

λ°œν–‰λ¬Ό:
Ion Item Sliding은 μ²˜μŒμ—λ§Œ μž‘λ™ν•©λ‹ˆλ‹€. 이온 ν•­λͺ©μ„ μŠ¬λΌμ΄λ“œ ν•œ λ‹€μŒ λ‹€λ₯Έ νŽ˜μ΄μ§€λ‘œ μ΄λ™ν•˜μ—¬ λ‹€μ‹œ λŒμ•„ 였면 응닡이 μ€‘μ§€λ©λ‹ˆλ‹€.

@jcollingsκ°€ μ œμ•ˆν•œ μž‘μ—…μ„ μ‹œλ„ν–ˆμŠ΅λ‹ˆλ‹€. λ‹€μŒκ³Ό 같이보기λ₯Ό λ‚˜κ°ˆ λ•Œ λͺ¨λ“  이온 ν•­λͺ© μŠ¬λΌμ΄λ”©μ„ λ‹«μœΌλ €κ³ ν–ˆμŠ΅λ‹ˆλ‹€.

ionViewWillLeave() {
    setTimeout(async() => {
      console.log('sliding list: ', this.slidingList);
      if(this.slidingList){
        await this.slidingList.closeSlidingItems();
      }
    },1000);
  }

ν•˜μ§€λ§Œ μž‘λ™ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.

λ‚΄ μŠ¬λΌμ΄λ” μ½”λ“œλŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

<ion-list #slidingList class="notifications" *ngIf="notificationCheck === 'true'">
    <ion-item-sliding *ngFor="let notification of notifications; index as i;">
      <ion-item lines="none" no-padding>
        <ion-row>
          <ion-col size="12" class="title">
            {{notification.title}}
          </ion-col>
          <ion-col size="12" class="description">
            {{notification.message}}
          </ion-col>
          <ion-col size="12" class="date-time">
            {{notification.createdDate | date:'medium'}}
          </ion-col>
          <i class="left-arrow"></i>
        </ion-row>
      </ion-item>
      <ion-item-options side="end">
        <ion-item-option color="secondary" (click)="goToURL(notification.actionURL)">
          <div slot="icon-only">
            <i class="fa fa-edit" *ngIf="notification.actionType === 'UPDATE'"></i>
            <i class="fa fa-eye" *ngIf="notification.actionType === 'VIEW'"></i>
          </div>
        </ion-item-option>
        <ion-item-option color="danger" (click)="deleteNotifications(notification.id)">
          <div slot="icon-only">
            <i class="fa fa-trash"></i>
          </div>
        </ion-item-option>
      </ion-item-options>
    </ion-item-sliding>
  </ion-list>

μ΅œμ‹  ionic 버전 4.0.0-rc.0으둜 μ‹œλ„ν–ˆμŠ΅λ‹ˆλ‹€. λ¬Έμ œκ°€ μ—¬μ „νžˆ μ‘΄μž¬ν•©λ‹ˆλ‹€.

μ•ˆλ…•ν•˜μ„Έμš”,

이 문제λ₯Ό 가지고 놀아 λ³΄μ•˜λŠ”λ° 제 κ²½μš°μ— Ion Item Sliderκ°€ μ‘λ‹΅ν•˜μ§€ μ•ŠλŠ” 원인은 λ·°κ°€ λ³€κ²½ 될 λ•Œλ§ˆλ‹€ μŠ¬λΌμ΄λ”© μ˜΅μ…˜μ΄ λ‹«νžˆμ§€ μ•ŠλŠ”λ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. κ·Έλž˜μ„œ λ‚˜λŠ” λ‹€μŒκ³Ό 같은 μΌμ„ν–ˆκ³  μ™„λ²½ν•˜κ²Œ μž‘λ™ν–ˆμŠ΅λ‹ˆλ‹€.

constructor(private location: Location,  private router: Router) {

    this.navigationSubscription = this.router.events.subscribe(async(e: any) => {
      if (e instanceof NavigationStart) {
        if(this.slidingList){
          await this.slidingList.closeSlidingItems();
        }
      }
    });

  }

@jcollings λ•λΆ„μž…λ‹ˆλ‹€.

λ‚˜λŠ” μ΄κ²ƒμ„ν•˜μ§€ μ•Šμ•˜λ‹€ :
.html

<ion-item-sliding #slidingItem>
<ion-item-option color="danger" (click)="del(slidingItem,carte)">Supprimer</ion-item-option>
in .ts
import {  IonItemSliding } from '@ionic/angular';

async del(slidingItem: IonItemSliding, carte){
    await slidingItem.close();
    let index = this.cartes.indexOf(carte);
        if(index > -1){
            this.cartes.splice(index, 1);
        }
}

μ™„λ²½ν•˜κ²Œ μž‘λ™
@jcollings λ•λΆ„μž…λ‹ˆλ‹€.

4.0.0-rc.0μ—μ„œ λ¬Έμ œκ°€ μ—¬μ „νžˆ μ‘΄μž¬ν•˜λŠ”μ§€ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

4.0.0-rc.1에도 μ‘΄μž¬ν•˜λŠ”μ§€ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

이 λ²„κ·ΈλŠ” 4.0.0-rc.2에 μ—¬μ „νžˆ μ‘΄μž¬ν•©λ‹ˆλ‹€.
가상 슀크둀 λ‚΄λΆ€μ—μ„œ 이온 ν•­λͺ© μŠ¬λΌμ΄λ”©μ„ μ‚¬μš©ν•˜λ―€λ‘œ List.closeSlidingItems ()λ₯Ό μ‚¬μš©ν•  수 μ—†μŠ΅λ‹ˆλ‹€.
ν•­λͺ© μŠ¬λΌμ΄λ”©μ„ 닫지 μ•Šκ³  λ’€λ‘œ λ²„νŠΌ 등을 μ‚¬μš©ν•˜μ—¬λ³΄κΈ°λ₯Ό λ‚˜κ°€λ©΄ λ‹€μŒμ— ν•­λͺ© μŠ¬λΌμ΄λ”©μ΄ μ „ν˜€ μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 이 κ²½μš°μ—λŠ” (클릭) 이벀트λ₯Ό μ‚¬μš©ν•  수 μ—†μŠ΅λ‹ˆλ‹€. μŠ¬λΌμ΄λ”©μ„ μ—΄κ³  κ·Έλƒ₯ λ‚˜κ°€κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€. 작기 (클릭) μ΄λ²€νŠΈμ— λŒ€ν•œ λ³€κ²½ 사항이 μ—†μŠ΅λ‹ˆλ‹€.

또 λ‹€λ₯Έ ν•΄κ²° λ°©λ²•μž…λ‹ˆλ‹€. 그것은 λ‚˜λ₯Ό μœ„ν•΄ μž‘λ™ν•©λ‹ˆλ‹€.

in .html
<ion-item-sliding>....</ion-item-sliding>

in .ts
import {  IonItemSliding } from '@ionic/angular';
  @ViewChild(IonItemSliding) itemSliding: IonItemSliding;
   ionViewWillLeave() {
        setTimeout(() => { this.itemSliding.closeOpened(); }, 500);
   }

μΉœμ• ν•˜λŠ” λΈŒλžœλ””,

@brandyscarney μ’€ λ³Ό 수 μžˆμŠ΅λ‹ˆκΉŒ? μš°λ¦¬λŠ” v4 둜의 λ§ˆμ΄κ·Έλ ˆμ΄μ…˜ 단계에 있으며 이온 νŒ€μ˜ μ˜κ²¬μ„ λ“£κ³  μ‹ΆμŠ΅λ‹ˆλ‹€. μ€‘μš”ν•œ 문제인 것 κ°™μŠ΅λ‹ˆλ‹€.

큰 감사λ₯Ό λ“œλ¦°λ‹€.
Norbert

νƒœκ·Έ ν•΄μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€! 쑰사λ₯Ό μœ„ν•΄ ν”„λ‘œμ νŠΈ λ³΄λ“œμ— μΆ”κ°€ν–ˆμŠ΅λ‹ˆλ‹€.

νŠΈμœ— λ‹΄μ•„ κ°€κΈ°

이 λ¬Έμ œμ— κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€! 이것은 PR # 17492에 μ˜ν•΄ λ³‘ν•©λ˜μ—ˆμŠ΅λ‹ˆλ‹€. λ‹€μŒ λ¦΄λ¦¬μŠ€μ—μžˆμ„ κ²ƒμž…λ‹ˆλ‹€ : 4.1.0 . κ·Έ 후에도 λ¬Έμ œκ°€ 계속 λ°œμƒν•˜λ©΄ μ•Œλ €μ£Όμ‹­μ‹œμ˜€.

문제λ₯Ό μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€! 이 λ¬Έμ œλŠ” μ›λž˜ λ¬Έμ œμ™€ κ΄€λ ¨μ΄μ—†λŠ” λŒ“κΈ€μ„ λ°©μ§€ν•˜κΈ° μœ„ν•΄ 잠겨 μžˆμŠ΅λ‹ˆλ‹€. μ΅œμ‹  λ²„μ „μ˜ Ionicμ—μ„œ μ—¬μ „νžˆ λ¬Έμ œκ°€ λ°œμƒν•˜λŠ” 경우 μƒˆ 문제λ₯Ό μƒμ„±ν•˜κ³  ν…œν”Œλ¦Ώμ΄ μ™„μ „νžˆ μ±„μ›Œ μ‘ŒλŠ”μ§€ ν™•μΈν•˜μ‹­μ‹œμ˜€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰