我正在尝试创建一个新变量,该变量通过将数量乘以价格来获得总价格,但这给了我一个错误:我为什么不能这样做?
class OrderScreen extends StatefulWidget {
final item;
final quantity;
final price;
OrderScreen({this.item,this.quantity,this.price});
@override
_OrderScreenState createState() => _OrderScreenState();
}
class _OrderScreenState extends State<OrderScreen> {
var totalprice = widget.price * widget.quantity; //Only static members can be accessed in...
@override
Widget build(BuildContext context) {
....
}
}
答案 0 :(得分:0)
您应该在initState中这样做
var totalprice;
@override
void initState(){
totalprice = widget.price * widget.quantity;
}
静态成员是唯一可以用来初始化其他成员的成员(因为它们是在构造函数之前创建的)
答案 1 :(得分:0)
或者您也可以创建getter
。
double get totalprice => widget.price * widget.quantity;