我正在研究重构代码以分离小部件。
每行都有几列TextFields
。
选择StatelessWidget
,因为它具有更高的性能,可能会将与TextEditingController相关的代码放在子窗口小部件之外。或者在onChanged
事件中包含一些逻辑。但是仍然有一些事件,例如clear text
无法放入onChanged
事件
如果我使用StatefulWidget
,请在每个子小部件内选择TextEditingController
。
在将代码重构为此类小部件时如何在StatelessWidget
和StatefulWidget
之间进行选择?
更新
这是我目前的结论,如果不正确,可以更新。
FocusNode
的{{1}},因为它与兄弟focusNode和parentNode有关; in parent
TextEdtingController
,如果此TextField可能像长的ListView一样在屏幕外显示,则在这种情况下,要卸载的小孔可以放在父级中,以保持文本状态。in parent
时,最好像摇晃TextField那样放置animation self
。由于它是一种自我特征,与父系无关。答案 0 :(得分:1)
根据评论部分的讨论进行编辑:
将代码重构为较小的Python 3
时,应采用第二种方法。 StatefulWidgets
应该具有通过调用嵌套TextField内部内容的功能来更改嵌套TextFields的内容及其行为的功能,如您先前指出的,您需要管理此行为。