flutter - Flutter Renderbox溢出
问题描述
import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
import 'package:provider/provider.dart';
import '../../Data/Globalvariable.dart' as global;
// import './customexpansionpanel.dart' as ex;
class Districtslayout extends StatefulWidget {
@override
_DistrictslayoutState createState() => _DistrictslayoutState();
}
class _DistrictslayoutState extends State<Districtslayout> {
@override
Widget build(BuildContext context) {
return Consumer(
builder: (context, global.DistrictModel districtModel, child) {
return _totalwig(districtModel.district);
});
}
_totalwig(districts) {
return SingleChildScrollView(
child: Column(children: [
...(districts).map(
(answer) {
return answer['district_id'] == 1000
? Text('Select_Text')
: ElevatedButton(
style: ButtonStyle(
elevation: MaterialStateProperty.all(24),
fixedSize: MaterialStateProperty.all(
Size(MediaQuery.of(context).size.width, 60))),
child: Text(
answer['district_name'],
style: TextStyle(fontSize: 20),
),
onPressed: () => print(answer['district_id'].toString()),
);
},
).toList(),
]),
);
}
// _createwig(districts) {
// List<Widget> columnContent = [];
// for (dynamic dis in districts) {
// columnContent.add(
// ListTile(
// title: dis['district_id']==1000?Text('Select State'):ElevatedButton(
// onPressed: ()=>print(dis['district_id']),
// child: Text(
// dis['district_name'],
// style: TextStyle(fontSize: 18.0),
// ),
// ),
// ),
// );
// }
// return columnContent;
// }
}
在这里,我收到渲染框溢出错误,即使我已将列包装到我的小部件树中的 SingleChildScrollView 我有一个 sizedbox,然后是一个自定义小部件,然后是一个 sizedbox,然后是一个 singlechildscrollview,然后是列我希望如果你想要任何代码就足够了评论,我会更新代码
import 'package:cowin_slot_tracker/Data/styles/expansionbutton.dart';
import '../../src/By_District/states.dart';
import 'package:flutter/material.dart';
import './districts.dart';
import 'package:provider/provider.dart';
import '../../Data/Globalvariable.dart' as global;
class DistrictHome extends StatefulWidget {
@override
State<StatefulWidget> createState() => DistrictHomeState();
}
class DistrictHomeState extends State<DistrictHome> {
@override
Widget build(BuildContext context) {
return Stack(
children: [
Column(
children: [
Padding(padding: EdgeInsets.only(top: 120)
// color: Colors.white.withOpacity(1),
),
Divider(
thickness: 2,
),
Text("hey"),
],
),
ChangeNotifierProvider(
create: (_) => global.DistrictModel(),
child: Consumer(
builder: (context, global.DistrictModel pinModel, child) {
return Column(
children: [
SizedBox(height: 60, child: StateMenu()),
SizedBox(
child: ExpnButton(
wiget: Districtslayout(),
hint: 'Select Districts',
)),
],
);
}),
),
],
);
}
}
解决方案
用SingleChildScrollView
,Expanded
像
Expanded(
child: SingleChildScrollView(
child: Column(
它在你的情况下解决了吗?
推荐阅读
- laravel - 在 Laravel 中更改数据库列值
- c++ - 递归形成字符串中所有数字字符的整数和?
- electron - 电子获取互联网连接类型
- reactjs - React Apollo - 突变时的奇怪效应?
- c++ - C++:使用嵌套数组时,无论我如何实现,内循环或外循环都不起作用
- ios - 如何删除警告:“-pie 被忽略。它仅在链接主可执行文件时使用”
- html - 带有完全透明缺口的透明窗口
- database - 如何对 MDX 上的所有常量值成员求和
- javascript - Javascript - 减少数组的方法。将卡片的点值相加得到总和
- docker - 在负载下微服务之间的 http 调用的时间差异