自动滚动到底部

Auto scroll to Bottom

我正在开发带有聊天屏幕的应用程序。但作为普通屏幕,它开始从上到下滚动。但它应该是从下到上。该应用程序在 Telerik Nativescript 平台中。

View.xml

<ScrollView row="0" col="0">  
    <StackLayout class="history-content-area">
        <Repeater items="{{messageHistory}}">
            <Repeater.itemTemplate>
                <StackLayout>
                    <!-- ITEMS GO HERE -->
                </StackLayout>
            </Repeater.itemTemplate>
        </Repeater>
    </StackLayout>
</ScrollView>

我在上面的代码中需要帮助如何在页面加载时自动滚动到底部?如果您需要 javascript 代码,请告诉我。

提前致谢。

在您的 ScrollView 上,您可以使用 scrollToVerticalOffset,您可以在其中传递要滚动到的偏移量。

例如: view.xml

<ScrollView row="0" col="0" id="myScroller">  
    <StackLayout class="history-content-area">
        <Repeater items="{{messageHistory}}">
            <Repeater.itemTemplate>
                <StackLayout>
                    <!-- ITEMS GO HERE -->
                </StackLayout>
            </Repeater.itemTemplate>
        </Repeater>
    </StackLayout>
</ScrollView>

view.js

mScroller = page.getViewById("myScroller");

var offset = mScroller.scrollableHeight; // get the current scroll height
mScroller.scrollToVerticalOffset(offset, false); // scroll to the bottom

假设您的 ScrollView 的 ID 为 'id-scroller'。然后在你的 View.js 你做:

let scroller = page.getViewById('id-scroller');

setTimeout(function() {
  scroller.scrollToVerticalOffset(scroller.scrollableHeight, true);
}, 1);