android 地址选择器无限级,【Flutter】仿京东地址选择器(多层级无限制)

最近在做Flutter开发,碰到产品提的新的需求,类似于京东的地址选择器,但是baidu了一堆,都只是定死层级的实现效果。不符合产品需求啊。自己码一个,记录一下。(可以根据需要,封装成通用工具)写的不好,请大佬轻喷。效果图WeChat40dd05dfb8dccacffe42e73ee5ec7c22.png需要注意,这里使用的是TickerProviderStateMixin而不是SingleTic...
摘要由CSDN通过智能技术生成

最近在做Flutter开发,碰到产品提的新的需求,类似于京东的地址选择器,但是baidu了一堆,都只是定死层级的实现效果。不符合产品需求啊。自己码一个,记录一下。(可以根据需要,封装成通用工具)

写的不好,请大佬轻喷。

效果图

53b554f806c2

WeChat40dd05dfb8dccacffe42e73ee5ec7c22.png

需要注意,这里使用的是

TickerProviderStateMixin

而不是

SingleTickerProviderStateMixin

上代码,注释很清楚。

class EventAreaDialog extends StatefulWidget {

// 这个是我们网络拉取的数据,根据实际你所需要的去变。应该是个树形结构的model

SpaceData spaceData;

// 选中后的callback

EventAreaDialogCallBack eventAreaDialogCallBack;

EventAreaDialog({this.spaceData, this.eventAreaDialogCallBack});

@override

_EventAreaDialogState createState() => _EventAreaDialogState();

}

class _EventAreaDialogState extends State

with TickerProviderStateMixin {

//根据筛选出的数据

Map> datas = new Map();

//选中的model,根据业务需求获取所需要的信息

Map selectDatas = new Map();

//选中的名称

Map selectNameDatas = new Map();

//初始化的tab名称

List _tabs = ["请选择"];

//tab的控制器

TabController _tabController;

//当前所选中的tab位置

int currentTabPos = 0;

@override

void initState() {

super.initState();

//初始化第一层级所需要显示的内容

List list =

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值