RadListView UI 在 Nativescript Angular 应用程序中动态更改 itemRorder 值
Dynamic change of itemRorder value in RadListView UI in Nativescript Angular app
我正在尝试动态更改 RadListView Ui 列表中 Nativescript Angular 应用程序的 itemReorder 布尔值,但没有成功。我每次都会收到此错误:行为未附加到 RadListView,请使用 RadListView addbehavior 方法附加它。
HTML:
<GridLayout tkExampleTitle tkToggleNavButton class="proposedLettersRow">
<RadListView #itemReord [items]="items" selectionBehavior="LongPress" reorderMode = "Drag" [itemReorder]="itemReorder" (itemReordered)="onItemReordered($event)" multipleSelection= "false"
>
<ng-template tkListItemTemplate let-item="item">
<GridLayout class="listItemTemplateGrid" >
<Label
[text]="item"
[ngClass]="!isWin ? 'proposed' : 'proposedIsDone'"
class="list-group-item ">
</Label>
</GridLayout>
</ng-template>
<ListViewGridLayout tkListViewLayout
scrollDirection="Vertical"
height="150"
ios:itemHeight="150"
spanCount="7"
horizontalAlignment="center">
</ListViewGridLayout>
</RadListView>
</GridLayout>
打字稿:
一开始this.itemReorder设置为true,然后一个函数来把它改成false,执行这个函数就报错
Terminal log
Code
我认为您将 itemReorder
设置为 false
为时过早,可能是组件在 itemReordered
事件时要求它为 true
。由于它还没有开源,所以我没有太多这方面的信息。但是一个简单的解决方法是添加超时,[=16=]
public youWin() {
if (this.newIndex < this.oldIndex) {
setTimeout(() => {
this.itemReorder = false;
}, 100);
}
}
我正在尝试动态更改 RadListView Ui 列表中 Nativescript Angular 应用程序的 itemReorder 布尔值,但没有成功。我每次都会收到此错误:行为未附加到 RadListView,请使用 RadListView addbehavior 方法附加它。
HTML:
<GridLayout tkExampleTitle tkToggleNavButton class="proposedLettersRow">
<RadListView #itemReord [items]="items" selectionBehavior="LongPress" reorderMode = "Drag" [itemReorder]="itemReorder" (itemReordered)="onItemReordered($event)" multipleSelection= "false"
>
<ng-template tkListItemTemplate let-item="item">
<GridLayout class="listItemTemplateGrid" >
<Label
[text]="item"
[ngClass]="!isWin ? 'proposed' : 'proposedIsDone'"
class="list-group-item ">
</Label>
</GridLayout>
</ng-template>
<ListViewGridLayout tkListViewLayout
scrollDirection="Vertical"
height="150"
ios:itemHeight="150"
spanCount="7"
horizontalAlignment="center">
</ListViewGridLayout>
</RadListView>
</GridLayout>
打字稿:
一开始this.itemReorder设置为true,然后一个函数来把它改成false,执行这个函数就报错
Terminal log
Code
我认为您将 itemReorder
设置为 false
为时过早,可能是组件在 itemReordered
事件时要求它为 true
。由于它还没有开源,所以我没有太多这方面的信息。但是一个简单的解决方法是添加超时,[=16=]
public youWin() {
if (this.newIndex < this.oldIndex) {
setTimeout(() => {
this.itemReorder = false;
}, 100);
}
}