flutter - RenderBox 未布置:相关的导致错误的小部件是 ExpansionTile
问题描述
我创建了一个ExpansionTile
小部件并在扩展它时显示搜索文本字段和使用的书籍列表ListView.Builder
,但它向我发送了此错误
RenderBox was not laid out: RenderRepaintBoundary#6b9d7 NEEDS-LAYOUT NEEDS-PAINT
'package:flutter/src/rendering/box.dart':
package:flutter/…/rendering/box.dart:1
Failed assertion: line 1929 pos 12: 'hasSize'
The relevant error-causing widget was
ExpansionTile
这是代码
return SafeArea(
child: Container(
padding: EdgeInsets.all(16.0),
color: Color(int.parse(bodycolor)),
width: MediaQuery.of(context).size.width,
height: MediaQuery.of(context).size.height,
child: Column(children: [
ExpansionTile(
leading: Icon(Icons.info_rounded,
color: HexColor("#5344ed")),
title: Text(
"Select Staff",
style: GoogleFonts.montserrat(
fontSize: 18.0,
fontWeight: FontWeight.bold,
color: HexColor("#5344ed")),
),
children: [
buildSearch(),
ListView.builder(
shrinkWrap: true,
itemCount: books.length,
itemBuilder: (context, index) {
final book = books[index];
return ListTile(
title: Text(book.title),
subtitle: Text(book.author),
);
},
)
]),
])),
),
更新:
我编辑我的代码,它产生了这个输出。
如果有人知道如何做到这一点,请提供帮助。
解决方案
试试下面的代码希望对你有帮助
您的清单 ->
List<String> data = [
"Counter No 1",
"Counter No 2",
"Counter No 3",
"Counter No 4",
];
你的小部件->
SingleChildScrollView(
child: Column(
children: [
// your other widget
buildSearch(),
ExpansionTile(
leading: Icon(
Icons.info_rounded,
),
title: Text(
"Select Staff",
),
children: [
ListView.builder(
shrinkWrap: true,
itemCount: data.length,
itemBuilder: (context, index) {
return ListTile(
title: Text(data[index]),
subtitle: Text('Your Data'),
);
},
),
],
),
],
),
),
推荐阅读
- c# - 更改实例化预制 Unity 的颜色
- javascript - Javascript整数与浮点内存 - 小数位数会影响内存吗?
- arrays - 快速排序时间字符串范围列表
- reactjs - 无法使用反应钩子设置状态
- angular - 在 Angular 的表中添加动态行
- .net - 没有身份脚手架的 .NET Blazor 登录
- javascript - 围绕每个出现的字符串包装一个元素
- apache-spark - pyspark with spark 2.4 on EMR SparkException:无法广播大于 8GB 的表
- r - 如何制作一个在输入相应变量时返回值的函数?
- python - Cmd doesn't return any output after running my Python script?