错误日志
Another exception was thrown: 'package:flutter/src/rendering/viewport.dart': Failed assertion: line 662 pos 12: 'child.parent == this': is not true.
场景(已知)
类型1
我们在使用自定义dialog的时候,布局中有使用TextField TextFormField 当他们获取到了焦点,弹出软盘时,会抛出该异常。
类型2
我们在使用自定义dialog的时候,布局中有使用 多包含类型布局 如 ListView GridView 他们嵌套了TextField TextFormField 当他们获取到了焦点,弹出软盘时,会抛出该异常。
解决方案
包裹一层ScrollView 推荐使用简单的 SingleChildScrollView
伪代码
new SingleChildScrollView(
child: TextField(
// keyboardType: TextInputType.multiline,
// controller: accountController,
textAlign: TextAlign.center,
// autofocus: true, //自动获取焦点
// maxLength: 7,
style: new TextStyle(fontSize: 14.0, color: Colors.black),
maxLines: 1,
decoration: InputDecoration(
contentPadding: EdgeInsets.all(2.0),
border: OutlineInputBorder(),
hintText: betItems[index].rate,
suffix: new ImageIcon(
new AssetImage("images/ic_edit_note.png"),
color: null,
size: 10.0)),
onChanged: (String value) {
betItems[index].rate = value;
},
),
))
来源:CSDN
作者:truesA
链接:https://blog.csdn.net/hao_m582/article/details/84071558