颤振“ParentDataWidget 的错误使用”使用交错网格视图时~@_@

问题描述

PyCharm 2020.3.4

我想根据其动态内容高度使 GridView 内的小部件具有不同的高度,这些小部件是内部带有扩展列的容器。但它给了我这个错误“不正确使用 ParentDataWidget”。

小部件看起来像这样:

                                   @_@

这是保存这些小部件的屏幕:

Container(
      decoration: Boxdecoration(
        color: someColor,borderRadius: BorderRadius.circular(17),),child: Expanded(
        child: Column(
          children: [
            ClipRRect(
              borderRadius: BorderRadius.circular(17),child: AspectRatio(
                aspectRatio: 5 / 3,child: Image.network(someImageUrl,fit: BoxFit.cover),SizedBox(height: 10),Text('Group name'),Text('Group desc'),Expanded(
              child: Row(
                children: List.generate(
                  _group.popIds.length,(_) => SizedBox(width: 50,height: 50),Text('Hello')
          ],);

错误信息如下所示:

** ParentDataWidget 使用不当。

ParentDataWidget Expanded(flex: 1) 想要将 FlexParentData 类型的 ParentData 应用到 RenderObject,它已被设置为接受不兼容的 ParentData 类型的 ParentData。**

有没有哪位大神能帮我解决这个问题,我折腾了一整天!~@_@

解决方法

这是因为您在容器内使用 Expanded。 Expanded 应仅在 Column、Row 或 Flex 小部件内使用。

在您的第一个代码片段中,删除容器内的第一个 Expanded 小部件并包装您的列,但您可以保留包装行的第二个 Expanded 小部件,因为该扩展位于一列内,然后错误应该消失离开。