Flutter 如何在flatter中从另一个自定义小部件分配小部件子(容器)的高度和宽度

Flutter 如何在flatter中从另一个自定义小部件分配小部件子(容器)的高度和宽度,flutter,dart,widget,flutter-layout,Flutter,Dart,Widget,Flutter Layout,我想更改产品的自定义小部件中容器小部件的宽度和高度,我想从另一个自定义ProductContainer小部件传递该宽度和高度,但当我在ProductContainer中传递它时,它给出了未定义的名称height和width 这是我的代码 非常感谢你的帮助, 谢谢, import'package:myEcomm/screens/info_page.dart'; 进口“包装:颤振/材料.省道”; 类ProductContainer扩展StatefulWidget{ 最终产品清单; 最终双倍高度;

我想更改产品的自定义小部件中容器小部件的宽度和高度,我想从另一个自定义ProductContainer小部件传递该宽度和高度,但当我在ProductContainer中传递它时,它给出了未定义的名称height和width

这是我的代码 非常感谢你的帮助, 谢谢,

import'package:myEcomm/screens/info_page.dart';
进口“包装:颤振/材料.省道”;
类ProductContainer扩展StatefulWidget{
最终产品清单;
最终双倍高度;
最终双倍宽度;
常量产品容器({
关键点,
这就是我们的产品,
这个,身高,
这个宽度,
}):super(key:key);
@凌驾
_ProductContainerState createState()=>\u ProductContainerState();
}
类_ProductContainerState扩展状态{
@凌驾
小部件构建(构建上下文){
返回SingleChildScrollView(
子:列(
mainAxisSize:mainAxisSize.min,
crossAxisAlignment:crossAxisAlignment.start,
儿童:[
大小盒子(
身高:150,
子项:ListView.builder(
滚动方向:轴水平,
itemCount:widget.products.length,
itemBuilder:(上下文,索引){
产品退货(
image:widget.products[index]['imageLink'],
标签:widget.products[索引]['tag'],
名称:widget.products[索引]['name'],
类别:widget.products[索引][“类别”],
价格:widget.products[索引][“价格”],
语境:语境);
},
),
),
],
),
);
}
}
产品小部件(
{String image=“images/”,
@必需的字符串标记,
@必需的字符串名称,
@必需的字符串类别,
@所需字符串价格,
@必需的BuildContext(上下文}){
返回列(子项:[
材料(
孩子:英雄(
标签:标签,
儿童:手势检测器(
onTap:(){
导航器。推(
上下文
材料路线(
生成器:(上下文)=>InfoPage(
图像:图像,
标签:标签,
姓名:姓名,,
类别:类别,,
价格:价格,
)));
},
子:容器(
填充:边缘设置。全部(2),
保证金:所有(5),
高度:
高度,//这是我想从productcontainer(高度:anyValue)小部件分配的高度
宽度:
宽度,//这是我想从productcontainer(宽度:anyValue)小部件分配的宽度
装饰:盒子装饰(
边界半径:边界半径。圆形(20),
图像:装饰图像(
安装:BoxFit.cover,图像:AssetImage(图像)),
),
),
))),
文本(名称),
]);
}
这对我很有效

import'package:myEcomm/screens/info_page.dart';
进口“包装:颤振/材料.省道”;
类ProductContainer扩展StatefulWidget{
最终产品清单;
最终双倍高度;
最终双倍宽度;
常量产品容器({
关键点,
这就是我们的产品,
这个,身高,
这个宽度,
}):super(key:key);
@凌驾
_ProductContainerState createState()=>\u ProductContainerState();
}
类_ProductContainerState扩展状态{
@凌驾
小部件构建(构建上下文){
返回SingleChildScrollView(
子:列(
mainAxisSize:mainAxisSize.min,
crossAxisAlignment:crossAxisAlignment.start,
儿童:[
大小盒子(
身高:150,
子项:ListView.builder(
滚动方向:轴水平,
itemCount:widget.products.length,
itemBuilder:(上下文,索引){
产品退货(
高度:widget.height,
宽度:widget.width,
image:widget.products[index]['imageLink'],
标签:widget.products[索引]['tag'],
名称:widget.products[索引]['name'],
类别:widget.products[索引][“类别”],
价格:widget.products[索引][“价格”],
语境:语境);
},
),
),
],
),
);
}
}
产品小部件(
{String image=“images/”,
@必需的字符串标记,
@必需的字符串名称,
@必需的字符串类别,
@所需字符串价格,
@所需双倍高度,
@所需双倍宽度,
@必需的BuildContext(上下文}){
返回列(子项:[
材料(
孩子:英雄(
标签:标签,
儿童:手势检测器(
onTap:(){
导航器。推(
上下文
材料路线(
生成器:(上下文)=>InfoPage(
图像:图像,
标签:标签,
姓名:姓名,,
类别:类别,,
价格:价格,
)));
},
子:容器(
填充:边缘设置。全部(2),
保证金:所有(5),
高度:高度,,
宽度:宽度,
装饰:盒子装饰(
边界半径:边界半径。圆形(20),
图像:装饰图像(
安装:BoxFit.cover,图像:AssetImage(图像)),
),
),