如何将容器从this更改为至this我试着加上车削条件但它说错误:不能将“Row”类型的值赋给“bool”类型的变量。请告诉我该怎么办。
cyej8jka1#
基于这个错误,我假设你试图在build方法的某个地方得到错误的if语句,我建议你使用一个基于onTap的函数返回部件。
build
onTap
Widget _dynamicAddButton() { if(clickHappened) { return >round widget<} else {return >longWidget<} }
您可以将此函数直接放在构建中,因为它以任何方式返回小部件,以便正确构建UI。clickHappened是screen小工具中的某个全局bool。
clickHappened
ctehm74n2#
"我在努力解决你的问题"
代码示例如下:
bool isContainer=true; @override Widget build(BuildContext context) { return Scaffold( backgroundColor: Colors.white, body: Center( child: InkWell( onTap: (){ setState(() { isContainer=false; }); print("hello tapped"); }, child: Container( height: 40, width: 70, decoration: BoxDecoration( color: Colors.purple, borderRadius: BorderRadius.all(Radius.circular(20)), ), child: isContainer?Row( mainAxisAlignment: MainAxisAlignment.center, children: [ Icon(Icons.contact_mail_outlined), SizedBox( width: 10, ), Text("Add") ], ):Container( color: Colors.purple, child:Icon(Icons.contact_page_outlined), ), ), ), ), ); }
2条答案
按热度按时间cyej8jka1#
基于这个错误,我假设你试图在
build
方法的某个地方得到错误的if语句,我建议你使用一个基于onTap
的函数返回部件。您可以将此函数直接放在构建中,因为它以任何方式返回小部件,以便正确构建UI。
clickHappened
是screen小工具中的某个全局bool。ctehm74n2#
"我在努力解决你的问题"
代码示例如下: