【问题标题】:How to update Inner Widget in Flutter如何在 Flutter 中更新内部小部件
【发布时间】:2020-06-23 03:19:40
【问题描述】:

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

sample Image

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】:

    你可以试试:

    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);
      }
    }
    

    【讨论】:

    • 我试过了,但是复选框变成灰色并且无法点击
    • 我试过了,运行正常。你可以分享我你的代码截图吗?
    • 我无法在评论中添加截图
    • 你可以帮我试试:把 init onPinStatusChange on initState to bellow _super.initState() _ ?
    • 我不明白
    猜你喜欢
    • 2018-07-28
    • 2020-04-08
    • 2023-01-04
    • 2022-01-16
    • 2021-02-19
    • 2022-11-04
    • 2020-04-07
    • 2021-08-06
    • 2018-11-01
    相关资源
    最近更新 更多