微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

颤振:如何更新文本小部件值

如何解决颤振:如何更新文本小部件值

我想在点击按钮时更新文本小部件的值。

这是我的代码


Widget text(){
   
    if(workinghours=="0" || gettimeinworkinghours=="0"){   
        
        if(gettimeinworkinghours=="0"){
          totalWorkingHours();
          setState(() {   //here i am using setstate
            return Text(gettimeoutworkinghours,style: TextStyle(
            color: fontcolor,fontSize: remainingtextfontsize,fontFamily: fontFamily));
          });
         
       
        }
        else if(workinghours=="0"){
        totalWorkingHours();
        return Text(totalTime,fontFamily: fontFamily)); }
    }
    else{
      return Text(workinghours,fontFamily: fontFamily)); 

    }
   
       return Text(gettimeoutworkinghours,fontFamily: fontFamily));

  }

我想将文本小部件的值更新为 gettimeoutworkinghours 值,当我按 ctrl+s(保存)时它正在工作,它更新值但我想自动更新它,我使用了 setState 但这不起作用,我在 initState() 中调用 text() 但它不起作用,请帮助如何做到这一点。

解决方法

  1. 确保您处于有状态的小部件中。
  2. 按钮 onPressed 回调使用 setState(()=>text())
  3. 它应该更新文本小部件。
,

所以你正在调用 initState() 中的 text()。 initState() 仅在第一次加载小部件时调用一次。 setState 不会再次调用 initState()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。