StatefulWidget里如何实现new时可传入一个textEditingController,若使用者没传入,则使用默认值?构造函数不让我写判断表达式,强迫我给constant。
同理,boraderRadius也是。
我自己想过一下,
我在SearchBox类中声明一个textEditingController,
然后在_SearchBoxState中再声明一个textEditingController,然后赋值
textEditingController = widget.textEditingController
但如果这样,就浪费了。
后面是这样使用的
dispose说不能为null,但是前面我想提供默认值又提供不了。
如果您想在 StatefulWidget 的构造函数中给 TextEditingController 提供默认值,可以在构造函数中创建一个 TextEditingController 实例并给它提供默认值。然后您可以在 widget 的 build() 方法中使用该实例。例如:
在上面的代码中,我们在 MyWidget 的构造函数中创建了一个 TextEditingController 实例并给它提供了默认值。然后在 MyWidget 的 build() 方法中,我们使用了该实例。
请注意,如果您在构造函数中创建了 TextEditingController,那么您也需要在 State 的 dispose() 方法中销毁它。例如:
这样做是为了避免内存泄漏。