Error: RenderBox was not laid out, Failed assertion: line 1940 pos 12: 'hasSize'
此类错误还挺常见,之后遇到相关的错误时在这里补充。
// todo
这里总结下就是当出现这个错误时,就代表了相关的元素没有设置宽高的限制导致的,如果要使用Expanded组件,这个组件就必须是Row、Column等组件的直接子元素。
否则当子元素是无界元素(及没有宽高的限制,例如ListView。)时,因为没有明确定义ListView可以占多高,所以就会出现这个错误。
解决方案就是使用Container或SizeBox组件设置宽高来解决。
如果是在Row子元素上出现的错误的话,那么用Expanded组件包装一下(Expanded只是一个常用组件,还有Fixable等组件也可以使用)就行了,包装后的结构为Row -> Expanded -> 无界元素。
Error: RenderBox was not laid out, Failed assertion: line 1940 pos 12: 'hasSize'
复制请注明出处,在世界中挣扎的灰太狼