我正在尝试创建一个自定义小部件CarteSim,并且每次单击Floating Action Button时都尝试调用它,但是不幸的是,当我在按钮内部调用它时,它不会显示,但是当我调用它时,它会显示它在脚手架上,请有经验的人 这是我的代码
((global::System.Data.SqlClient.SqlCommand)(this._commandCollection[<index>])).CommandTimeout = 0;
答案 0 :(得分:3)
您误会了该过程。在按下floatActionButton时实际用于呼叫操作的onPressed键。您可以在此处编写函数,例如可以更新状态或在控制台上打印任何内容或调用API来获取数据。但是您不能从那里显示任何小部件。
现在您要尝试做的事情,可以像这样解决。每当您按下该按钮时,您都应该更新状态,即bool show。然后根据该显示状态修改Column子级。
答案 1 :(得分:1)
这是一个如何在抖动中更新UI的示例
class FrontPage extends StatefulWidget {
@override
_FrontPageState createState() => _FrontPageState();
}
class _FrontPageState extends State<FrontPage> {
bool currentStateShowsThis;
initState() {
currentStateShowsThis = false;
super.initState();
}
Widget build(BuildContext context) {
final color = currentStateShowsThis ? Colors.blue : Colors.red;
return Scaffold(
appBar: AppBar(
backgroundColor: Colors.pink,
title: Text(" INWI "),
),
body: SingleChildScrollView(
child: Container(
child: Center(
child: Column(
children: <Widget>[
Container(width: 100, height: 100, color: color,) // alternatively you can change the widgets being displayed
],
),
),
)
),
floatingActionButton: FloatingActionButton(
onPressed: (){
setState(() {
currentStateShowsThis = !currentStateShowsThis;
});
},
child: Icon(Icons.add),
backgroundColor: Colors.pink,
),
);
}
}
在您的示例中,“按钮”将回叫
onPressed:
仅将使用该方法(列... )创建小部件,而不将其放置在布局中。