【Flutter 专题】123 图解简易 GroupList 二级分组列表

set isChecked(bool value) => _isChecked = value;

CategoryBean({this.name, this.url, this.itemList});
}

class SubCategoryBean {
String name;
String url;
bool _isChecked = false;

SubCategoryBean({this.name, this.url});

bool get isChecked => _isChecked ?? false;

set isChecked(bool value) => _isChecked = value;
}

2. 一级列表

小菜先展示一级列表,可根据使用场景确认是否使用 SliverListView,小菜测试过程中仅采用基本的 ListView;其中单项选择框,小菜采用了之前自定义的 ACECheckbox;其中注意,在 ACECheckbox 点击回调时应注意更改一级实体 BeanisChecked 状态;

return Scaffold(
appBar: AppBar(title: Text(‘分组列表’)),
body: ListView.builder(
itemCount: widget.listData.length,
itemBuilder: (context, index) {
return GroupItemWidget(widget.listData[index]);
}));

class _GroupItemWidgetState extends State {
bool _isExpand = false;

@override
Widget build(BuildContext context) {
return InkWell(
child: Column(children: [
Divider(height: 0.5, color: Colors.blue),
Padding(
padding: EdgeInsets.symmetric(horizontal: 15.0, vertical: 10.0),
child: Row(children: [
Icon(_isExpand ? Icons.arrow_drop_down : Icons.arrow_right, color: Colors.blue),
_userIcon(false),
SizedBox(width: 5.0),
Expanded(child: Text(‘${widget.bean.name}’, style: TextStyle(fontSize: 16.0))),
_righ

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值