Flutter窗口调整大小后TextField消失问题求助
Flutter窗口调整大小后TextField消失问题求助
大家好,我最近碰到一个挺棘手的Flutter问题,想请教下各位大佬:
我在注册页面中,先跳转到其他页面,再返回注册页面后,调整窗口大小,页面上的TextField会突然消失。正常未调整窗口的时候一切都好好的,一调整就没了,完全摸不着头脑😅
问题复现步骤
- 进入注册页面
- 跳转到其他任意页面
- 返回注册页面
- 调整窗口大小,此时TextField突然消失
状态对比
- 调整窗口前:TextField正常显示
- 调整窗口后:TextField消失不见
下面是我自定义的TextField组件代码,麻烦帮忙排查下问题所在:
Widget build(BuildContext context) { return SizedBox( height: widget.height ?? 70, width: widget.width, child: TextFormField( maxLines: widget.maxLine ?? 1, enabled: widget.enabled, onTap: widget.onTap, readOnly: widget.readOnly ?? false, cursorColor: AppColor.textColor, obscureText: widget.obscureText ?? false, validator: widget.validate, onChanged: widget.onChanged, controller: widget.controller, keyboardType: widget.keyboardType, maxLength: widget.maxLength, textInputAction: widget.textInputAction, autovalidateMode: widget.autoValidationMode, decoration: InputDecoration( filled: true, isDense: true, fillColor: AppColor.textFieldFillColor, prefixStyle: TextStyle(color: AppColor.textColor), counterText: "", prefixText: widget.prefixText, suffixStyle: widget.suffixStyle, floatingLabelBehavior: FloatingLabelBehavior.never, prefixIcon: Padding( padding: const EdgeInsets.symmetric(horizontal: 10), child: widget.prefixIcon, ), suffixIcon: Padding( padding: const EdgeInsets.symmetric(horizontal: 10), child: widget.suffixIcon, ), prefixIconConstraints: const BoxConstraints(maxWidth: 80), suffixIconConstraints: const BoxConstraints(maxWidth: 80), iconColor: widget.iconColor, hintText: widget.hintText, hintStyle: widget.hintTextStyle ?? TextStyle(color: AppColor.black, fontSize: 13), labelText: widget.labelText, labelStyle: widget.labelTextStyle ?? TextStyle(color: AppColor.black, fontSize: 13), border: InputBorder.none, errorBorder: OutlineInputBorder( borderRadius: const BorderRadius.all(Radius.circular(10.0)), borderSide: BorderSide(width: 1, color: AppColor.red), ), focusedErrorBorder: OutlineInputBorder( borderRadius: const BorderRadius.all(Radius.circular(10.0)), borderSide: BorderSide(width: 1, color: AppColor.red), ), enabledBorder: OutlineInputBorder( borderRadius: const BorderRadius.all(Radius.circular(10.0)), borderSide: BorderSide(width: 2, color: AppColor.primaryColor), ), focusedBorder: OutlineInputBorder( borderRadius: const BorderRadius.all(Radius.circular(10.0)), borderSide: BorderSide(width: 2, color: AppColor.primaryColor), ), ), ), ); }
备注:内容来源于stack exchange,提问作者Roshan buha
相关产品推荐
相关产品推荐

