Flutter使用系统的Builder组件处理复杂页面逻辑

Flutter构建界面时,有时在界面的一部分中需要定义一些变量或作一些逻辑判断以实现不同情况输出不同界面的目的。
这种情况可以用系统的Builder组件作为父组件,Builder组件的builder参数是一个Function,
可以在builder参数的函数体内定义变量、作逻辑处理,根据不同情况返回不同的组件。如下:

Builder(builder: (context) {
  String title = '';
  bool check = true;
  if (check) {
    return TextButton(
      onPressed: () {
        //通过 Builder 组件来获取 context
        RenderBox box = context.findRenderObject();
        var offset = box.localToGlobal(Offset.zero);
      },
      child:Text(title),
    );
  }else{
    return Text('next');
  }
  
});

你可能感兴趣的:(Flutter,flutter,builder,if,复杂逻辑,判断)