2016-08-17 14 views
0

私はRadListViewを使用していて、onItemLoadingイベントを代行しています。RadListViewの要素を参照するitemtemplate

このイベントの中で、itemTemplate内の個々のビュー要素を参照できますか。

私はargs.view._subViewsを参照していますが、名前で要素を見つけることができるかどうかは疑問でした。私は、それぞれのアイテムが同じIDを持つため、IDは機能しないと仮定します。

答えて

1

あなたは正しいIDで取得すると、最初のものだけを返します。ただし、ListView子グループへの参照がある場合は、 idを使用すると、要素をグループから取得できます。

私のNativeScript-Domプラグインを使用すると、非常に簡単です。あなたが行うことができます: var elements = RadListView.getElementsByClassName('someClass');またはRadListView.getElementsByTagName('Label');以降の機能 `

RadListView.runAgainstTagNames('Label', function(element) { /* do something with this element */ });

そして、あなたの条件に一致する要素の配列で動作します。

ListViewでは、すべての要素がプリセットされているわけではないことにも注意してください。 ListViewには、通常ListView + 1を満たすために必要な要素数だけあります。リストビューに2,000個の項目があってもそうです。実際の子ListViewグループは10個しかないかもしれません。 GetElementsByTagNames( 'Label')を実行すると、そのうちの10個しか取得されませんでした。

+0

私はonItemLoading()イベントでこれを行い、ルートビューオブジェクトにアクセスしていますので、 runAgainst TagNames()などのような検索を行うときにルートが可能です。またはrootView.runAgainst ..()になります。それはうまくいくでしょう。このプラグインはどこで入手できますか? – dashman

+0

はい、このプラグインは、使用したいルートビューを実行しないように設計されています。これは、ビューの子に限定できることを示すために、このケースではルートとして「RadListView」を使用した理由です。また、 'runAgainstTagNames( 'Label');をルートなしで実行すると、ページ全体が実行されます。 ;-) ここでそれを取得する場所については、 'tns plugin add nativescript-dom'はあなたのアプリにそれを追加します。 repo/docsはhttps://github.com/NathanaelA/nativescript-domにあります。http://plugins.nativescript.rocksにNSプラグインがあればいつでも見つけることができます – Nathanael