You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 08:09:54