0

嗨,我正在寻找一种将 String 变量转换为 TextEditingController 的方法

  final TextEditingController _testController=TextEditingController();

这就是我正在做的

var test = "_"+"testController"

在里面TextFormField Controller我像这样调用控制器

TextFormField(
controller: test,
),

我知道我可以直接叫它的名字,TextEditingController _testController但我必须这样做,有什么想法吗?我试过castingvariableTextEditingController但我得到这个错误说

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

1 回答 1

0

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

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

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
     ),
于 2022-02-10T21:25:13.460 回答