在HarmonyOS NEXT 中 bindSheet内部使用Tabs组件,滚动事件无法联动的解决方法?

阅读 504
1 个回答

在应用的合适位置(如main.ets)初始化AppStorage用于存储滚动位置。

import { AppStorage } from '@ohos.app.ability';
AppStorage.SetOrCreate('sheetScrollY', 0);
AppStorage.SetOrCreate('tabsScrollY', 0);

假设bindSheet内部有一个可滚动的容器(如ScrollView),监听其滚动事件并更新AppStorage中的sheetScrollY。

import { AppStorage } from '@ohos.app.ability';
@Entry
@Component
struct MyComponent {
    build() {
        ScrollView() {
            // bindSheet内容
            Text('这是bindSheet中的内容')
        }
       .onScroll((scrollOffset: ScrollOffset) => {
            let y = scrollOffset.y;
            AppStorage.Set('sheetScrollY', y);
        })
    }
}

本文参与了 【 HarmonyOS NEXT 技术问答冲榜,等你来战!】欢迎正在阅读的你也加入。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进