gpt4 book ai didi

flutter - 使用flutter_bloc时清除文本字段

转载 作者:行者123 更新时间:2023-12-03 03:30:45 25 4
gpt4 key购买 nike

我有一个带有ChatBlocReplyBox小部件的简单聊天页面,一个带有发送按钮的消息框。
我希望ReplyBox可重用,以免对ChatBloc有特定的了解。但是,我希望能够从集团控制ReplyBox中的文本。事实证明,这非常困难,因为文本字段期望使用TextEditingController
我尝试过的

  • 使用TextFormField initialValue将来自集团的文本传递到小部件中。值更改时不重建。
  • 使用Key强制进行重建。文本已更新,但是焦点丢失了。
  • 使用TextEditingController使其成为有状态的小部件,而不是从团体中获取文本值,而只是在按下按钮时清除它。可以,但不灵活。例如,如果有发送错误,该消息将被清除,而这不是应该的。

  • 我没有尝试在bloc中管理TextEditingController。似乎不应该这样做。

    最佳答案

    我看到第3种方法有望与StatefullWdiget和TextEditingController一起解决您的问题。
    我会为ReplyBox设置另一个块,其中包含诸如Reset,Update等事件。
    在小部件中,我会将ChatBloc的状态连接到ReplyBloc。
    在绘图中可能是这样的:
    enter image description here

    关于flutter - 使用flutter_bloc时清除文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64018365/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com