技术经验谈 技术经验谈
首页
  • 最佳实践

    • 抓包
    • 数据库操作
  • ui

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • 总纲
  • 整体开发框架
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

hss01248

一号线程序员
首页
  • 最佳实践

    • 抓包
    • 数据库操作
  • ui

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • 总纲
  • 整体开发框架
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 日志体系

  • springboot

  • ruoyi-vue-pro

    • ruoyi-vue-pro-oauth2支持不同客户端同时登录
    • 项目运行备忘
    • flutter项目

      • pullToRefresh在pc和web上的兼容问题
      • flutter字体问题汇总
      • flutter语音转文字和文字转语音
      • OCR识别技术选型
      • 语音转写-录音转文字各平台价格对比
      • dio拦截器实现OAuth2体系下登录态的维持
      • chatgpt flutter客户端项目实践
      • chatgpt图片识别描述功能
    • spring boot内实现流式代理
  • IT工具链
  • java学习路线和视频链接--尚硅谷
  • JDK动态代理原理和应用
  • jvm一图流
  • linux运维
  • spring boot笔记
  • spring-cloud学习资料和路线
  • springcloud alibaba
  • Springcloud学习笔记
  • 从java编译原理到Android aop
  • 大数据
  • 操作系统原理一图流
  • 汇编语言一图流
  • 泛型
  • 网关
  • 面试题精讲
  • java
  • ruoyi-vue-pro
  • flutter项目
hss01248
2023-05-05

pullToRefresh在pc和web上的兼容问题

# pullToRefresh在pc和web上的兼容问题

# 如何支持web和pc

pullToRefresh库只支持客户端,如何支持web和pc呢?

参考这个问题:

web和mac上,无法用鼠标滚轮滑动 (opens new window)

  Widget  wrapIfWebOrMacOs(Widget buildRefreshLoadMoreList,context) {
    if(PlatformType.isWeb() || PlatformType.isWebInMobile() ||  PlatformType.isDesktop()){
      return ImprovedScrolling(
          scrollController: logic.macAndWebScrollController,
          enableCustomMouseWheelScrolling: true,
          child: ScrollConfiguration(
          behavior:
          ScrollConfiguration.of(context).copyWith(dragDevices: PointerDeviceKind.values.toSet()),
    child: buildRefreshLoadMoreList
    ));
    }else{
      return buildRefreshLoadMoreList;
    }
  }
1
2
3
4
5
6
7
8
9
10
11
12
13
14

# web运行时:

--web-renderer canvaskit 时,下拉刷新正常

--web-renderer html 时,下拉报错:

PersistedOffset: is in an unexpected state.
Expected one of: PersistedSurfaceState.active, PersistedSurfaceState.released
But was: PersistedSurfaceState.created

When the exception was thrown, this was the stack: 
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 266:49      throw_
lib/_engine/engine/html/surface.dart 179:3                                        debugAssertSurfaceState
lib/_engine/engine/html/scene_builder.dart 295:14                                 addRetained
packages/flutter/src/rendering/layer.dart 668:14                                  [_addToSceneWithRetainedRendering]

...


packages/flutter/src/widgets/binding.dart 865:13                                  drawFrame
packages/flutter/src/rendering/binding.dart 381:5                                 [_handlePersistentFrameCallback]
packages/flutter/src/scheduler/binding.dart 1289:15                               [_invokeFrameCallback]
packages/flutter/src/scheduler/binding.dart 1218:9                                handleDrawFrame
packages/flutter/src/scheduler/binding.dart 1076:5                                [_handleDrawFrame]
dart-sdk/lib/async/zone.dart 1398:13                                              _rootRun
dart-sdk/lib/async/zone.dart 1300:19                                              run
dart-sdk/lib/async/zone.dart 1208:7                                               runGuarded
lib/_engine/engine/platform_dispatcher.dart 1170:9                                invoke
lib/_engine/engine/platform_dispatcher.dart 218:5                                 invokeOnDrawFrame
lib/_engine/engine/initialization.dart 190:45                                     <fn>
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 367:37  _checkAndCall
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 372:39  dcall
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

将以上错误代码输入chatgpt,得到的答复是:

This error may indicate that there is an issue with managing the state of a PersistedSurface object, such as creating or releasing the object at the wrong time. To fix this issue, the code should be reviewed to ensure that the PersistedSurface object is being created and released properly and that it is in the expected state when being used.

翻译后为:

这个错误可能表示PersistedSurface对象的状态管理存在问题,例如在错误的时间创建或释放对象。要解决这个问题,应当检查代码以确保正确创建和释放PersistedSurface对象,并在使用时它处于预期的状态。

并非scrollController的问题,而是头部的lottie动画的问题

替换头部为WaterDropHeader就正常了

编辑 (opens new window)
上次更新: 2023/05/09, 17:55:07
项目运行备忘
flutter字体问题汇总

← 项目运行备忘 flutter字体问题汇总→

最近更新
01
截图后的自动压缩工具
12-27
02
图片视频文件根据exif批量重命名
12-27
03
chatgpt图片识别描述功能
02-20
更多文章>
Theme by Vdoing | Copyright © 2020-2025 | 粤ICP备20041795号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式