0

스위치 구성 요소에서 정말 이상한 동작이 나타납니다 ... ng 템플릿 내부에서 사용하고 있으며, 스위치 할 때마다 다른 모든 10 번째 스위치 요소 또한 스위치가 켜져 있습니다. 특히 'checked'속성이 동적이 아니기 때문에 어디에서 왔는지는 알 수 없습니다 (아래 참조). 이 문제가 발생하는 사람은 누구입니까? 또한, 다른 스위치가 켜져 있거나 (이전 상태를 기반으로 한 경우) 실제로 "onInviteContact()"가 의도적으로 클릭 된 실제 Switch 구성 요소에 대해 한 번만 트리거됩니다.NativeScript "스위치"구성 요소

<RadListView 
     [items]="contacts" 
     class="list-group" width="100%"> 
    <ng-template tkListItemTemplate let-contact="item"> 
     <GridLayout class="contactItem" columns="2*, 3*, *, *" width="100%" orientation="horizontal"> 
      <Image col="0" *ngIf="contact.photo" [src]="contact.photo" 
        stretch="aspectFill" width="40%"></Image> 
      <Image col="0" *ngIf="!contact.photo" src="res://profile_image" 
        stretch="aspectFill" width="40%"></Image> 
      <Label col="1" class="nameLabel" [text]="contact.name"></Label> 
      <Switch col="2" class="switchElement" checked="false" 
        (checkedChange)="onInviteContact($event, contact)"></Switch> 
     </GridLayout> 
    </ng-template> 
</RadListView> 

답변

1

이 동작에 대한 유일한 가능한 설명은, 그것은 내가 의심 "자동"

에 설정되어 볼 수있는 재활용 기본보기

https://github.com/NativeScript/NativeScript/blob/699e6f5da8ad79f5795e3758365115d681a146c2/tns-core-modules/ui/switch/switch-common.ts#L10

의 사용이다 네이티브 뷰가 Rad리스트 뷰 또는리스트 뷰에서 재활용 될 때 스위치를 켜고, 재활용하고, 사용하는 스위치의 기본 뷰입니다.

이 문제를 방지하려면 checked 속성을 관찰 가능 속성에 바인딩해야합니다.

희망이 질문 :

환호에 답!

+0

답장을 보내 주셔서 감사합니다 ... "관찰 할 수있는 부분에 바인딩"이라고 말하면 무슨 뜻입니까? – Vladimir

+0

각도를 사용하고 있기 때문에,[checked] = "someVariable"someVariable은 관찰 가능합니다 –

+0

당신이 그 원인에 대해 맞다고 생각하지만 솔루션이 작동하지 않습니다. – Vladimir