Я разрабатываю приложение, в котором, когда пользователь нажимает на макет просмотра карты, детали этого вида открываются в макете этого вида карты.Я использовал nativescript ScrollView для прокрутки просмотров.Но когда пользователь нажимает на последний макет просмотра карты, он должен прокрутить, чтобы показать детали макета просмотра карты.Он не прокручивается автоматически до последней детали представления карты, из-за этого детали представления карты скрыты, и пользователь вынужден выполнять прокрутку вручную.
Я нашел эту прокрутку Nativescript программно до нижней части ScrollView но я не могу решить мою проблему.Ниже приведен мой код для макета.
<ScrollView id="scrollView" #scrollView orientation="vertical" #scrollView (scroll)="onScroll($event)">
<StackLayout row="0" col="0">
<StackLayout *ngFor="let item of items" class="card-view" id="cardViewLayout">
<GridLayout columns="auto, *, auto" rows="auto,auto,auto" (tap)="toggleDetail(@event)">
</GridLayout>
<GridLayout row="3" col="0" colSpan="3" columns=" *, *" rows="auto,auto" id="detailedData" visibility="hidden" class="cardDetail">
<StackLayout row="0" col="0" class="detailDataStack">
</StackLayout>
</GridLayout>
</StackLayout>
</StackLayout>
</ScrollView>
toggleDetail(args){
var scrollView = this.page.getViewById("scrollView")
var offset = this.scrollView.nativeElement.scrollableHeight;
this.scrollView.nativeElement.scrollToVerticalOffset( this.scrollView.nativeElement.offset+ 120, false);
}
Как показано выше, когда пользователь нажимает на макет класса представления карты, он переключает класс cardDetail.Когда в просмотре карты есть последний элемент, он должен прокручиваться автоматически, чтобы показать детали, но он не прокручивается автоматически.
В методе toggleDetail () я попытался получить scrollableHeight, добавить 120 к этой высоте и сделать егопрокрутка, когда пользователь в последнем элементе, но ничего не произошло.
Пример приложения Playground для этого Пример приложения ScrollView Nativescript Playground
Заранее спасибо :)