flutter 动态管理 父组件值更新,子组件刷新页面

父组件向子组件传值时,在父组件中用setState更新值,子组件会到声明周期的didUpdateWidget部分,改生命周期会刷新build

具体代码:
父组件setState更新值:

FlatButton(
                      textColor: Colors.white,
                      onPressed: () {
                        showBottomSheetTool
                            .showStringPicker(context, data: _yearList,
                            clickCallBack: (int index, var str) {
                              setState(() {
                                _year = _yearList[index];
                                print('修改后的年份信息:${_year}');
                                // 筛选接口
                              });
                            });
                      },
                      child: Row(
                        children: [
                          Text('${_year}'),
                          SizedBox(width: 4),
                          Icon(Icons.chevron_right),
                        ],
                      ),
                    ),

父组件传值:

LineTable(year:_year,position:_position,schoolname:widget.arguments['title']),

子组件接受:

class PlanTable extends StatefulWidget {
  String schoolname;
  String position;
  int year;
  PlanTable({this.position,this.year,this.schoolname});
  @override
  _PlanTableState createState() => _PlanTableState();
}

调用生命周期:

@override
  void didUpdateWidget(PlanTable oldWidget) {
    super.didUpdateWidget(oldWidget);
    _dioProgress = getDate();
    print("didUpdateWidget");
    print("position:${oldWidget.position}:${widget.position}");
    print("year:${oldWidget.year}:${widget.year}");
  }
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值