我正在使用 RadListView 并拦截 onItemLoading 事件。
在该事件中,我可以引用 itemTemplate 中的单个视图元素吗?
我看到了 args.view._subViews - 但我想知道是否可以通过名称或其他方式找到元素。我认为 id 不起作用,因为每个项目都有相同的 id。
我正在使用 RadListView 并拦截 onItemLoading 事件。
在该事件中,我可以引用 itemTemplate 中的单个视图元素吗?
我看到了 args.view._subViews - 但我想知道是否可以通过名称或其他方式找到元素。我认为 id 不起作用,因为每个项目都有相同的 id。
您是正确的,通过 Id 获取只会返回第一个。但是,如果您有对 ListView 子组的引用;使用 id 将有助于将元素从组中取出。
现在,如果您使用我的NativeScript-Dom
插件,那就很简单了;你可以这样做:
var elements = RadListView.getElementsByClassName('someClass');
或RadListView.getElementsByTagName('Label');
或更新的功能`
RadListView.runAgainstTagNames('Label', function(element) {
/* do something with this element */
});
并使用符合您的条件的元素数组。
另请注意,在 ListView 中,并非所有元素都是预设的;ListViews 通常只需要填充 ListView + 1 的元素;所以即使列表视图中有 2,000 个项目;您可能只有 10 个实际的子 ListView 元素组。因此,当您执行 GetElementsByTagNames('Label') 时,您只会得到其中的 10 个......