ios 当前共享首选项版本不支持SliverStaggeredGrid

wwwo4jvm  于 12个月前  发布在  iOS
关注(0)|答案(1)|浏览(112)

我目前正在使用SliverStaggeredGrid来构建我的应用程序,但由于它已被删除,我无法使用它,也找不到任何其他代码来替换它。我尝试使用较低的版本,但由于flutter创建了某些依赖项,我无法使用较低的版本。我该怎么办呢:
这是SliverStaggeredGrid的代码:

: SliverStaggeredGrid.countBuilder(
                        staggeredTileBuilder: (c) => const StaggeredTile.count(1, 1.5),
                        crossAxisCount: 2,
                        mainAxisSpacing: 1,
                        crossAxisSpacing: 0,
                        itemBuilder: (context, index) {
                          Items model = Items.fromJson(
                              snapshot.data!.docs[index].data()!
                                  as Map<String, dynamic>);
                          return Padding(
                            padding: const EdgeInsets.all(8.0),
                            child: ItemsDesign(
                              model: model,
                              context: context,
                            ),
                          );
                        },
                        itemCount: snapshot.data!.docs.length,
                      );

编辑:
授权版本:

flutter:
    sdk: flutter

  # The following adds the Cupertino Icons font to your application.
  # Use with the CupertinoIcons class for iOS style icons.
  cupertino_icons: ^1.0.2
  firebase_core: ^2.17.0
  firebase_auth: ^4.10.1
  cloud_firestore: ^4.9.3
  firebase_storage: ^11.2.8
  shared_preferences: ^2.0.11
  flutter_staggered_grid_view: ^0.7.0
  fluttertoast: ^8.0.8
  google_fonts: ^6.1.0
  hexcolor: ^3.0.1
  lottie: ^2.6.0
  image_picker: ^1.0.4
  geolocator: ^10.1.0
  geocoding: ^2.0.1
  intl: ^0.18.1

当前显示的错误:

  1. Undefined name 'blog'.尝试将名称更正为已定义的名称,或定义名称。
  2. fit这个名字不是一个类。尝试更正名称以匹配现有类。
    Flutter Doctor结果:
[✓] Flutter (Channel master, 3.16.0-10.0.pre.20, on macOS 14.0 23A344 darwin-arm64, locale en-TZ)
    • Flutter version 3.16.0-10.0.pre.20 on channel master at /Users/mustafa/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision ec94ccff83 (31 hours ago), 2023-10-11 07:41:40 -0400
    • Engine revision bddb34b09c
    • Dart version 3.3.0 (build 3.3.0-6.0.dev)
    • DevTools version 2.28.1

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
    • Android SDK at /Users/mustafa/Library/Android/sdk
    • Platform android-33, build-tools 33.0.1
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.0)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15A240d
    • CocoaPods version 1.13.0

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)

[✓] VS Code (version 1.83.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.74.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-arm64   • macOS 14.0 23A344 darwin-arm64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 117.0.5938.149
68bkxrlz

68bkxrlz1#

这可能不是你想听到的答案,但你可能不能再按原样使用SliverStaggeredGrid了。
您可能需要从插件切换到更新的代码,例如flutter_staggered_grid_viewmasonry_grid。我相信flutter_staggered_grid_view包中的SliverQuiltedGridDeletate可能满足您的需要。
另一种方法是将SliverStaggeredGrid的源代码直接复制到您的项目中或fork插件(假设它来自插件)并仅更新您需要的内容-只要您可以更新最新的flutter版本,它应该可以工作,但可能有一个很好的理由被弃用,所以我不推荐它。

相关问题