flutter如何将字符串强制转换为TextEditingController



hi我正在寻找一种将String变量强制转换为TextEditingController 的方法

final TextEditingController _testController=TextEditingController();

这就是我正在做的

var test = "_"+"testController"

TextFormFieldController内部,我正在呼叫像这样的控制器

TextFormField(
controller: test,
),

我知道我本可以叫它TextEditingController_testController,但我必须这样做,有什么想法吗?我尝试了castingvariableTextEditingController,但我得到了这个错误,说

type 'String' is not a subtype of type 'TextEditingController' in type cast

正如您在评论中提到的,您有28个TextEditingControllers。

您可以通过创建地图来访问正确的地图。

var test = "_"+"testController"
final TextEditingController _testController=TextEditingController();
final TextEditingController _nameController=TextEditingController(); //Second controller
Map<String, TextEditingController> textMap = {'_testController': _testController, '_nameController': _nameController}; //Map declaration

然后将其用作:

TextFormField(
controller: textMap[test], //Access to the right controller by String Key
),

相关内容

  • 没有找到相关文章

最新更新