Nativescript:获取 RadListView 项目的视图
Nativescript: getting view of RadListView item
我正在开发我的移动应用程序,并尝试使用 nativescript 对其进行编码,
但我有一个问题,我想在 listView 中为项目视图设置动画 ...
到目前为止,这是我的代码:
let page = args.object;
const radList = page.getViewById('myList');
const item = radList.getItemAtIndex(0);
const itemView = radList.getViewForItem(item);
但我的 itemView 始终未定义,我也尝试使用 getChildAt() 方法但它不起作用...
我不想使用 itemDeleteAnimation 因为我想使用我自己的动画
我认为您遇到了时间问题,可以使用 setTimeout
解决。另一种可能性(如果适用)是使用 itemLoading
事件通过 ListViewEventData
获取对视图的引用
以下是两者的示例:
TypeScript
export function onRadLoaded(args) {
const radList = <RadListView>args.object;
setTimeout(() => {
const item = radList.getItemAtIndex(0);
const view = radList.getViewForItem(item);
console.log(view);
}, 300);
}
export function onItemLoading(args: ListViewEventData) {
console.log("args.view: ", args.view);
console.log("args.data: ", args.data);
console.log("args.index: ", args.index);
}
我正在开发我的移动应用程序,并尝试使用 nativescript 对其进行编码, 但我有一个问题,我想在 listView 中为项目视图设置动画 ...
到目前为止,这是我的代码:
let page = args.object;
const radList = page.getViewById('myList');
const item = radList.getItemAtIndex(0);
const itemView = radList.getViewForItem(item);
但我的 itemView 始终未定义,我也尝试使用 getChildAt() 方法但它不起作用... 我不想使用 itemDeleteAnimation 因为我想使用我自己的动画
我认为您遇到了时间问题,可以使用 setTimeout
解决。另一种可能性(如果适用)是使用 itemLoading
事件通过 ListViewEventData
以下是两者的示例:
TypeScript
export function onRadLoaded(args) {
const radList = <RadListView>args.object;
setTimeout(() => {
const item = radList.getItemAtIndex(0);
const view = radList.getViewForItem(item);
console.log(view);
}, 300);
}
export function onItemLoading(args: ListViewEventData) {
console.log("args.view: ", args.view);
console.log("args.data: ", args.data);
console.log("args.index: ", args.index);
}