在 Function 中添加两个到一个按钮 Flutter
Posted
技术标签:
【中文标题】在 Function 中添加两个到一个按钮 Flutter【英文标题】:Add two in Function to a button Flutter 【发布时间】:2021-10-05 03:14:51 【问题描述】:如何在一个按钮上添加两个功能? 我有一个向服务器发送请求的按钮,我想在发送请求后添加一个对话框......我试过这个:
onPressed: ()
_makePostRequest();
showAlertDialog(context);
,
但还是不行……
邮编:
_makePostRequest() async
final url = Uri.parse('http://127.0.0.1/API');
final headers = "Content-type": "application/json";
final json = '"id": "1", "status": "1"';
final response = await post(url, headers: headers, body: json);
final statusCode = response.statusCode;
final body = response.body;
显示对话框代码:
void showAlertDialog(BuildContext context)
Widget okButton = TextButton(
child: Text("OK"),
onPressed: () ,
);
AlertDialog alert = AlertDialog(
title: Text("PMZ Label Print"),
content: Text("Label is printing..."),
actions: [
okButton,
],
);
showDialog(
context: context,
builder: (BuildContext context)
return alert;
,
);
【问题讨论】:
【参考方案1】:试试下面的代码
你的按钮
onPressed:()
_makePostRequest();
您的 API 调用
_makePostRequest() async
final url = Uri.parse('http://127.0.0.1/API');
final headers = "Content-type": "application/json";
final json = '"id": "1", "status": "1"';
final response = await post(url, headers: headers, body: json);
final statusCode = response.statusCode;
final body = response.body;
//your alert function call
if (response.statusCode == 200)
showAlertDialog(context);
else
print(
"Error",
);
我已经尝试了上面的代码,我的代码正在运行
【讨论】:
我收到以下错误:未处理的异常:未找到 MaterialLocalizations。 你可以在这里查看我的答案***.com/a/68533647/13997210 查看 API 调用函数并尝试以这种格式调用 API,并在response.statusCode == 200
块中添加你的 showAlert 函数,并在按下按钮时添加你的 API 调用函数跨度>
【参考方案2】:
您只需在onPressed
上添加async
。
onPressed: ()async
await _makePostRequest();
showAlertDialog(context);
,
【讨论】:
【参考方案3】:_makePostRequest 是 Future 类型,因此您可以使用 2 种方式:
First one:
onPress:()
_makePostRequest().then((v)
showAlertDialog(context);
);
Second one:
onPress:()await
await YourFunction();
showAlertDialog(context);
【讨论】:
以上是关于在 Function 中添加两个到一个按钮 Flutter的主要内容,如果未能解决你的问题,请参考以下文章
将单击功能添加到 Jquery DataTable 中的两个按钮