首页 > 解决方案 > 如何在 Flutter 中更新内部小部件

问题描述

嗨,我在颤动时遇到收音机和复选框的问题。我创建了自己的小部件,目的是根据需要的不同返回小部件,如下图所示,因为我选择了更改引脚,返回将是一个复选框,但返回小部件是一个复选框,而保存按钮停滞或没有'没有改变,但当我使用收音机或复选框甚至可见性时我遇到了问题。当我尝试更新 setState() 时,它不会更新或重新加载小部件。下面的代码只是小部件的第一个返回,它将是一个复选框。当我尝试取消选中按钮时,值变为下降但 UI 未被选中。

示例图像

Widget getInputType(val){
    if(val == 'Pin Lock'){
    return CheckboxListTile(
        title: Text('Pin Login'),
        value: isSwitchPin,
        onChanged: (value){
        setState(() {
          print(value);
          this.isSwitchPin = value;
        });
    });
  }
}

标签: flutter

解决方案


你可以试试:

1、定义一个字段

ValueChanged<bool> onEnventChange;

2、关于initState()

onEnventChange = (value){
    setState(() {
      print(value);
      this.isSwitchPin = value;
    });
});

3、定义你的功能

Widget getInputType(val){
  if(val == 'Pin Lock'){
    return CheckboxListTile(
        title: Text('Pin Login'),
        value: isSwitchPin,
        onChanged: onEnventChange);
  }
}

推荐阅读