flutter 文本字段的RenderRepaintBoundary异常

busg9geu  于 2023-01-06  发布在  Flutter
关注(0)|答案(1)|浏览(216)

我是flutter的新手,我正在尝试创建发送OTP的应用程序。当我尝试添加一个文本字段时。屏幕将变为空白,如果我删除文本字段,所有的小部件都可见。有人能解释一下为什么会发生这种情况以及如何解决它吗?

Container(
            height: 55,
            decoration:  BoxDecoration(
              border: Border.all(
                width: 1,
                color: Colors.black,
              )
            ),

            child: Row(
              children: const [
                SizedBox(
                  width: 8,
                ),

                Text(
                  " +91 - ",
                  style: TextStyle(
                    fontSize: 30
                  ),
                ),

                
                // as soon as I add this TextField, the screen is going blank.
                TextField(
                  controller: phoneNumber,
                  keyboardType: TextInputType.number,
                ),
                
              ],
            ),

          ),

例外情况:
在paint()期间抛出了以下Assert:渲染框未布局:渲染重新绘制边界#b54b1重新绘制边界= up3需要-绘制'package:flutter/src/rendering/box. dart':Assert失败:第2001行位置12:'具有大小'

0sgqnhkj

0sgqnhkj1#

Row不知道TextFieldwidth,所以你应该用SizedBox Package 它,并给予它一些widthheight在本例中是可选的):

SizedBox(
  width: 100,
  child: TextField(
    controller: phoneNumber,
    keyboardType: TextInputType.number,
  ),
)

或者与FlexibleExpanded类似:

Expanded( // or Flexible
  child: TextField(
    controller: phoneNumber,
    keyboardType: TextInputType.number,
  ),
)

相关问题