showDialog with TextField
Wed Feb 09 2022 08:26:10 GMT+0000 (Coordinated Universal Time)
Saved by @zbahadir #dart #flutter
showDialog<dynamic>(
useRootNavigator: false,
barrierDismissible: false,
context: context,
builder: (BuildContext context) {
return AlertDialog(
title: Text(
Utils.getString(context, 'report_item'),
),
content: TextField(
controller: showdialogText,
keyboardType: TextInputType.multiline,
textInputAction: TextInputAction.newline,
minLines: 1,
maxLines: 5,
onChanged: (value) {
setState(() {
valueText = value;
});
},
),
actions: <Widget>[
Container(
padding: EdgeInsets.all(5),
child: Row(
children: <Widget>[
Expanded(
flex: 1,
child: ElevatedButton.icon(
icon: const Icon(Icons.cancel),
label: Text(
Utils.getString(context, 'cancel'),
),
onPressed: () {
Navigator.of(context).pop();
},
style: ElevatedButton.styleFrom(
primary: Colors.red,
onPrimary: Colors.white,
),
),
),
const SizedBox(width: 5),
Expanded(
flex: 1,
child: ElevatedButton.icon(
icon: const Icon(Icons.save),
label: Text(
Utils.getString(context, 'save'),
),
onPressed: () async {
await PsProgressDialog.showDialog(context);
final UserReportItemParameterHolder userReportItemParameterHolder = UserReportItemParameterHolder(
itemId: widget.itemId,
reportedUserId: widget.reportedUserId,
message: valueText,
);
final PsResource<ApiStatus> _apiStatus = await widget.userProvider!.userReportItem(userReportItemParameterHolder.toMap());
if (_apiStatus.data != null && _apiStatus.data!.status != null) {
await widget.itemDetailProvider.deleteLocalProductCacheById(widget.itemId, widget.reportedUserId);
}
PsProgressDialog.dismissDialog();
Navigator.pushReplacementNamed(
context,
RoutePaths.home,
);
},
style: ElevatedButton.styleFrom(
primary: Colors.green,
onPrimary: Colors.white,
),
)),
],
),
),
],
);
});



Comments