рассчитать скидку цен в флаттер - PullRequest
0 голосов
/ 18 января 2020

Я хочу попытаться определить приведенную ниже формулу, чтобы рассчитать между старой и новой ценой и показать ее в текстовом виджете, но когда я хочу использовать ее в двойной переменной, у меня появляется эта ошибка: «Только члены c могут быть доступным в инициализаторах ", и это то, что я хочу сделать:

class ProductDetails extends StatefulWidget {
 final prod_fullName;
 final prod_pic;
 final prod_old_price;
 final prod_price;
 double percent=(prod_old_price - prod_price)/prod_old_price*100;
ProductDetails({
 this.prod_fullName,
 this.prod_pic,
 this.prod_old_price,
 this.prod_price,
});

@override
_ProductDetailsState createState() => _ProductDetailsState();
}
class _ProductDetailsState extends State<ProductDetails> {
 Row{
  child:new Text("$percent%");
}

1 Ответ

1 голос
/ 18 января 2020
class ProductDetails extends StatefulWidget {
  final String prod_fullName;
  final String prod_pic;
  final double prod_old_price;
  final double prod_price;

  const ProductDetails({Key key, this.prod_fullName, this.prod_pic, this.prod_old_price, this.prod_price}) : super(key: key);

  @override
  _ProductDetailsState createState() => _ProductDetailsState();
}
class _ProductDetailsState extends State<ProductDetails> {
  double percent;
  @override
  void initState() {
    percent=(widget.prod_old_price - widget.prod_price)/widget.prod_old_price*100;
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return Text("$percent%");
  }
}
...