添加TextField导致Flutter的Unit类失效、程序冻结,求助原因
问题:添加TextField组件导致自定义Unit类失效、程序冻结
我遇到一个问题:给自定义的Unit组件添加TextField后,这个组件直接失效,程序还会冻结;但把TextField移除,Unit类就能正常运行。我已经尝试过把这个类放在代码的不同位置排查周边代码的影响,也搜索了谷歌相关问题、查阅了Flutter官方文档,还是找不到问题根源,恳请帮忙找出原因。
相关代码
import 'package:flutter/material.dart'; class Unit extends StatefulWidget { const Unit({super.key, required this.unitID}); final String unitID; @override State<Unit> createState() => _UnitState(); } class _UnitState extends State<Unit> { bool _active = false; // ignore: unused_element void _handleUpdate() { setState(() { _active = !_active; }); } @override Widget build(BuildContext context) { double unitWidth = MediaQuery.of(context).size.width; double unitHeight = MediaQuery.of(context).size.height; final String unitID = widget.unitID; return Container( height: unitHeight * 0.2, width: unitWidth * 0.7, decoration: BoxDecoration( shape: BoxShape.rectangle, borderRadius: BorderRadius.circular(8), border: Border.all(color: const Color.fromARGB(255, 72, 72, 72)), color: const Color.fromARGB(255, 110, 110, 110)), padding: const EdgeInsets.all(10), child: Row( mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ const Text('Unit name'), // ignore: unnecessary_string_interpolations Text('$unitID'), const TextField( decoration: InputDecoration( border: OutlineInputBorder(), labelText: 'Name'), ), ], ), ); } }
相关运行状态说明
- 代码包含TextField时:组件失效,程序冻结
- 代码移除TextField后:Unit组件可正常运行
内容的提问来源于stack exchange,提问作者Seb S.G.H
相关产品推荐
相关产品推荐

