使用GetX时TextEditingController报错“类型未找到”,求排查问题
问题解决:TextEditingController未找到错误
错误原因很直接:TextEditingController类并不在你导入的flutter/foundation.dart里,它是flutter/material.dart库中的组件,所以编译器找不到这个类型。
修正步骤
把导入的flutter/foundation.dart替换为flutter/material.dart,或者直接新增这个导入:
import 'package:get/get.dart'; import 'package:flutter/material.dart'; class TextControllers extends GetxController { Rx<TextEditingController> userInputController = TextEditingController().obs; }
额外优化提示
其实GetX开发中,没必要把TextEditingController包装成Rx类型,直接使用普通的TextEditingController,结合GetBuilder或Obx就能实现响应式效果,同时还能减少不必要的性能开销,记得在控制器销毁时释放资源:
import 'package:get/get.dart'; import 'package:flutter/material.dart'; class TextControllers extends GetxController { final TextEditingController userInputController = TextEditingController(); @override void onClose() { userInputController.dispose(); super.onClose(); } }
内容的提问来源于stack exchange,提问作者Laur
相关产品推荐
相关产品推荐

