123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- import 'package:farmer_client/models/entities/Address.dart';
- import 'package:farmer_client/pages/addressList/widget/AddressCard.dart';
- import 'package:farmer_client/widgets/DefaultButton.dart';
- import 'package:flutter/material.dart';
- import 'package:flutter_screenutil/flutter_screenutil.dart';
- import 'package:fluttertoast/fluttertoast.dart';
-
- class AddressList extends StatefulWidget {
- const AddressList({Key? key}) : super(key: key);
-
- @override
- _AddressList createState() => _AddressList();
- }
-
- class _AddressList extends State<AddressList> {
-
- List<Address> addressList = [
- Address.fromJson({'address': '777', 'isDefault': false}),
- Address.fromJson({'address': '999', 'isDefault': false}),
- Address.fromJson({'address': '这是一个正经的地址', 'isDefault': false}),
- ];
- void onChange(index) {
- setState(() {
- addressList.forEach((element) {
- if (element.isDefault == true) {
- element.isDefault = false;
- }
- });
- addressList[index].isDefault = true;
- });
- }
- void onDelete(index){
- showDialog(
- context: context,
- builder: (context) {
- return AlertDialog(
- title: Text("提示信息"),
- content: Text("您确定要删除此地址吗?"),
- actions: <Widget>[
- TextButton(
- child: Text("取消"),
- onPressed: () {
- print("取消");
- Navigator.pop(context, 'Cancle');
- },
- ),
- TextButton(
- child: Text("确定"),
- onPressed: () {
- // setState(() {
- // addressList.remove(addressList[e]);
- // });
- Navigator.pop(context, "Ok");
- Fluttertoast.showToast(
- msg: '删除成功!');
- })
- ]);
- });
- }
-
- @override
- Widget build(BuildContext context) {
- return Scaffold(
- appBar: AppBar(
- elevation: 0,
- centerTitle: true,
- backgroundColor: Colors.white,
- title: Text(
- '地址管理',
- style: TextStyle(
- color: Colors.black,
- fontSize: 17.sp,
- letterSpacing: 2,
- fontWeight: FontWeight.bold),
- ),
- ),
- body: ListView(
- children: [
- Container(
- padding: EdgeInsets.all(15.w),
- child: Column(
- //左对齐
- crossAxisAlignment: CrossAxisAlignment.start,
- children: [
- Column(
- children: addressList
- .asMap()
- .keys
- .map(
- (e) => AddressCard(
- No: e + 1,
- item: addressList[e],
- onChange: () {
- onChange(e);
- },
- onEdit: () {},
- onDelete: () {
- onDelete(e);
- },
- ),
- )
- .toList()),
- DefaultButton(
- color: const Color(0xffffffff),
- backColor: const Color(0xFFFF703B),
- width: 345.w,
- height: 49.h,
- text: '+新增收货地址',
- onPressed: () {},
- margin: const EdgeInsets.all(0),
- fontSize: 20.sp,
- radius: 24.5.w,
- ),
- ],
- ),
- ),
- ],
- ),
- );
- }
- }
|