我遇到了以下异常:
FlutterError(RenderViewport不支持返回内在尺寸。计算内在尺寸需要实例化视口的每个子项,这违背了视口懒惰加载的原则。如果您只是试图在主轴方向上缩小视口,请考虑使用RenderShrinkWrappingViewport渲染对象(ShrinkWrappingViewport widget),它可以在不实现内在尺寸API的情况下实现该效果。)
当我添加 ProductsWidget
时,就会出现此异常。
Products Widget 的代码如下:
class ProductsWidget extends GetResponsiveView<HomeTabController> {
@override
Widget build(BuildContext context) {
return ListView.builder(
shrinkWrap: true,
itemCount: 3,
// padding: EdgeInsets.symmetric(vertical: 20),
physics: NeverScrollableScrollPhysics(),
itemBuilder: (context, index) => Column(
children: [
Row()])}}
调用代码是:
body: LayoutBuilder(
builder: (BuildContext context, BoxConstraints constraints) {
return SingleChildScrollView(
child: ConstrainedBox(
constraints: BoxConstraints(
minHeight: constraints.maxHeight,
),
child: IntrinsicHeight(
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
Expanded(
// flex: 1,
child: HomeAppBar()),
// listView
// i made shrinkWrap=true
// neverScroll
Flexible(fit: FlexFit.tight, child: ProductsWidget()),
],
),
),
),
);
}),