我正在尝试测试我的有状态小部件CheckedTextField:
class _CheckedTextFieldState extends State<CheckedTextField> {\n TextEditingController _controller = TextEditingController();\n bool _checked;\n String _valueBackup;\n\n @override\n void initState() {\n super.initState();\n _checked = widget.initialChecked;\n _controller.text = widget.initialValue;\n _controller.addListener(invokeCallback);\n }\n\n invokeCallback() {\n widget.callback(_controller.text.trim(), _checked);\n }\n\n @override\n Widget build(BuildContext context) {\n return Row(\n children: <Widget>[\n Expanded(\n child: TextField(\n enabled: _checked,\n controller: _controller,\n decoration: widget.decoration,\n ),\n ),\n Checkbox(\n onChanged: (value) {\n if (value == false) {\n _valueBackup = _controller.text;\n _controller.text = "";\n }\n if (value == true) {\n _controller.text = _valueBackup;\n }\n …Run Code Online (Sandbox Code Playgroud)