使用Flutter TextField时出错:无法加载errors_patch.dart源文件
问题解决:TextField触发errors_patch.dart加载错误
问题根源
你的代码里把TextField放在了带const修饰的Column里,但TextField是有状态组件,不能被const关键字修饰的父组件包裹,这会直接触发运行时错误,进而导致IDE跳转到errors_patch.dart并提示源码不可用。
修复方案
只需要去掉Column前面的const关键字即可,修改后的代码如下:
import "package:flutter/material.dart"; class EditNoteHeader extends StatefulWidget { const EditNoteHeader({super.key}); @override State<EditNoteHeader> createState() => _EditNoteHeaderState(); } class _EditNoteHeaderState extends State<EditNoteHeader> { @override Widget build(BuildContext context) { return Padding( padding: const EdgeInsets.all(8.0), child: ClipRRect( borderRadius: const BorderRadius.all(Radius.circular(8.0)), child: ColoredBox( color: const Color(0xFF656565), child: Padding( padding: const EdgeInsets.all(8.0), child: Row( children: [ IntrinsicHeight( child: Row( crossAxisAlignment: CrossAxisAlignment.stretch, children: [ Column( crossAxisAlignment: CrossAxisAlignment.start, // 移除此处的const修饰符 children: [ TextField( decoration: InputDecoration( hintText: "New Text", ), ), ], ) ], ), ), ], ), ), ), ), ); } }
额外提示
后续使用Flutter组件时要注意:所有带有状态的Widget(比如TextField、Checkbox、Switch等)都不能被const修饰的父组件包含,否则都会引发类似的运行时错误。
内容的提问来源于stack exchange,提问作者sebastianTheCoder
相关产品推荐
相关产品推荐

