渲染库捕获的异常垂直视口被赋予无限高度。颤动 GridView

问题描述 投票:0回答:1

我尝试了数百万种解决方案,但都不起作用

Padding(
            padding: const EdgeInsets.all(10),
            child: Expanded(
              child: GridView.builder(
                gridDelegate:
                    const SliverGridDelegateWithFixedCrossAxisCount(
                  crossAxisCount: 2,
                  crossAxisSpacing: 5.0,
                  mainAxisSpacing: 5.0,
                ),
                itemCount: buysellListings.length,
                itemBuilder: (context, index) {
                  Listing listing = buysellListings[index];
                  return Padding(
                    padding: const EdgeInsets.symmetric(
                      horizontal: 5.0,
                      vertical: 5.0,
                    ),
                    child: ProductCardVertical(
                      imagePath: listing.imageUrl,
                      iconPath:
                          listing.imageUrl, // Assuming iconPath is needed
                      location: listing.location,
                      productName: listing.title,
                      price: listing.price,
                    ),
                  );
                },
              ),
            ),
          )
════════════════════════════════════════════════════════════════════════════════

════════ Exception caught by rendering library ═════════════════════════════════
Vertical viewport was given unbounded height.
The relevant error-causing widget was:
════════════════════════════════════════════════════════════════════════════════

尝试过这个

    Container(
                height: MediaQuery.of(context).size.height,
                child: Padding(
                  padding: const EdgeInsets.all(10),
                  child: Expanded(
                    child: GridView.builder(
                      gridDelegate:
                          const SliverGridDelegateWithFixedCrossAxisCount(
                        crossAxisCount: 2,
                        crossAxisSpacing: 5.0,
                        mainAxisSpacing: 5.0,
                      ),
                      itemCount: buysellListings.length,
                      itemBuilder: (context, index) {
                        Listing listing = buysellListings[index];
                        return Padding(
                          padding: const EdgeInsets.symmetric(
                            horizontal: 5.0,
                            vertical: 5.0,
                          ),
                          child: ProductCardVertical(
                            imagePath: listing.imageUrl,
                            iconPath:
                                listing.imageUrl, // Assuming iconPath is needed
                            location: listing.location,
                            productName: listing.title,
                            price: listing.price,
                          ),
                        );
                      },
                    ),
                  ),
                ),
              )

现在收到此错误

════════ Exception caught by rendering library ═════════════════════════════════
RenderBox was not laid out: RenderViewport#308be NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
'package:flutter/src/rendering/box.dart':
Failed assertion: line 1972 pos 12: 'hasSize'
flutter
1个回答
0
投票

您是否尝试删除展开的小部件? 它曾经用于列或行子项。

© www.soinside.com 2019 - 2024. All rights reserved.