NativeScript“;开关";成分

NativeScript“;开关";成分,nativescript,angular2-nativescript,nativescript-telerik-ui,Nativescript,Angular2 Nativescript,Nativescript Telerik Ui,我在切换组件中看到了一个非常奇怪的行为……我在ng模板中使用它,每次我“切换”一个,其他第十个切换元素也会被切换。不知道它来自哪里,特别是因为“checked”属性不是动态的(见下文)。还有其他人遇到这个问题吗?此外,即使我看到其他开关打开(或关闭,基于之前的状态),对于有意单击的实际开关组件,实际的“onInviteContact()”仅触发一次 <RadListView [items]="contacts" class="list-group" widt

我在切换组件中看到了一个非常奇怪的行为……我在ng模板中使用它,每次我“切换”一个,其他第十个切换元素也会被切换。不知道它来自哪里,特别是因为“checked”属性不是动态的(见下文)。还有其他人遇到这个问题吗?此外,即使我看到其他开关打开(或关闭,基于之前的状态),对于有意单击的实际开关组件,实际的“onInviteContact()”仅触发一次

<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>

对此行为唯一可能的解释是使用回收本机视图

如您所见,它已设置为“自动”

我怀疑,当本机视图在rad列表视图,甚至列表视图中循环使用时,您打开的交换机的本机视图被循环使用

为了避免这种情况,您应该将checked属性绑定到一些可观察的对象

希望这能回答你的问题:)


干杯

感谢您的回复…当您说“绑定到某个可观察对象”时,您的意思是什么?因为您使用的是angular,它类似于[checked]=“someVariable”,其中someVariable是一个可观察的id您尝试向开关添加id吗?(id应该是动态的)id是指#switch-{{randomvalue}之类的东西吗?那不管用,他们不知道还有什么问题。你能在游乐场应用程序中重现这个问题吗?我可以试着在那里修好。