【发布时间】:2020-01-12 20:33:46
【问题描述】:
这里我在颤动图表上显示来自数据库的数据,但是在浏览器中它看起来像 .if 这是我的代码
class Chart extends StatefulWidget {
final String ..;
Chart({this.user_id, this.projectName, this.userName});
@override
_ChartState createState() => _ChartState(user_id: this.user_id, projectName: this.projectName, userName: this.userName);
}
class _ChartState extends State<Chart> {
String /..;
_ChartState({this.projectName, this.user_id, this.userName});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(),
body: FutureBuilder(
future: ActivityController.getWorkTimeByUiPn({
"user_id": user_id,
"project_name": projectName,
}),
builder: (context, snapshot) {
if (snapshot.hasError);
return snapshot.hasData
? Itemchart(
iList: snapshot.data,
)
: Center();
},
),
);
}
}
class OrdinalSales {
final String name;
final int count;
OrdinalSales(this.name, this.count);
}
class Itemchart extends StatelessWidget {
final List<dynamic> iList;
Itemchart({this.iList});
@override
Widget build(BuildContext context) {
List<OrdinalSales> tsdata = [];
if(iList != null){
for (final i in iList) {
try{
tsdata.add(OrdinalSales(i['project_name'], i['durasi']));
}catch (e) {
print(e.toString());
}
}
}else{
return Text("NULL");
}
var series = [
charts.Series(
domainFn: (OrdinalSales ordinalsales, _) => ordinalsales.name,
measureFn: (OrdinalSales ordinalsales, _) => ordinalsales.count,
id: 'OrdinalSales',
data: tsdata,
)
];
var chart = charts.BarChart(series, animate: true);
var chartWidget = Padding(
padding: EdgeInsets.all(32.0),
child: SizedBox(
width: 700.0,
height: 400.0,
child: chart,
),
);
return ListView(
scrollDirection: Axis.horizontal,
children: <Widget>[
Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text(
"Jumlah : ${iList.length.toString()}",
style: Theme.of(context).textTheme.title,
),
chartWidget,
//Text(tsdata.toString())
],
),
],
);
}
}
数据没有出现,我在这里有点困惑,因为当我尝试print (tsdata.toString ()) 结果[].. 我认为数据丢失/未包含在 OrdinarySales 类或 tsdata 中?当我尝试打印(iList.toString())时,数据就在那里
【问题讨论】:
标签: flutter dart flutter-web