editAddress.dart 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. import 'package:flutter/material.dart';
  2. import 'package:twong/config/style.dart';
  3. import 'package:twong/models/address.dart';
  4. import 'package:twong/utils/index.dart';
  5. import 'package:twong/widgets/address_selecter.dart';
  6. import 'package:twong/widgets/app_bar.dart';
  7. class EditAddressPage extends StatefulWidget {
  8. final dynamic data;
  9. EditAddressPage(this.data);
  10. @override
  11. State<StatefulWidget> createState() {
  12. return _EditAddressPageState();
  13. }
  14. }
  15. class _EditAddressPageState extends State<EditAddressPage> {
  16. Address _address = Address();
  17. @override
  18. Widget build(BuildContext context) {
  19. return Scaffold(
  20. appBar: DAppBar(widget.data == null ? "添加收货地址" : "编辑收货地址"),
  21. body: SafeArea(
  22. child: Container(
  23. margin: EdgeInsets.all(12.px),
  24. child: ListView(
  25. children: [
  26. Container(child: Row(
  27. children: [
  28. Text("姓名"),
  29. ],
  30. )),
  31. Divider(),
  32. Text("联系电话"),
  33. Divider(),
  34. Text("所在区域"),
  35. Divider(),
  36. Text("详细地址"),
  37. Divider(),
  38. FlatButton(
  39. color: DColors.Main,
  40. shape: StadiumBorder(),
  41. child: Text("立即保存", style: TextStyle(color: Colors.white)),
  42. onPressed: () {
  43. Navigator.pop(context, _address);
  44. },
  45. )
  46. ],
  47. ),
  48. ),
  49. ),
  50. );
  51. }
  52. void _choiceAddressDialog() async {
  53. showModalBottomSheet(
  54. context: context,
  55. shape: RoundedRectangleBorder(borderRadius: BorderRadius.only(
  56. topLeft: Radius.circular(10.px), topRight: Radius.circular(10.px)
  57. )),
  58. builder: (BuildContext context) {
  59. return AddressSelecter(
  60. onSelected: (province, city, county) {
  61. print('$province-$city-$county');
  62. _address.province = province;
  63. _address.city = city;
  64. _address.district = county;
  65. // _address = '$province-$city-$county';
  66. setState(() {});
  67. },
  68. title: '选择地址',
  69. selectedColor: Colors.red,
  70. unselectedColor: Colors.black);
  71. });
  72. }
  73. }