【发布时间】:2019-08-09 17:01:49
【问题描述】:
`List<Widget> _dataList = [
DataCard(
start: 0,
end: 6,
),
DataCard(
start: 2,
end: 8,
),
DataCard(
start: 4,
end: 20,
)
];`
dataCard 基本上返回一个带有Card 小部件的GestureDetector 小部件,它显示了开始和结束值。
我想要做的是在屏幕上显示小部件后更改开始/结束的值。如何访问列表中任何dataCard 的属性?
这是 DataCard 类:
class DataCard extends StatelessWidget {
DataCard({this.start, this.end, this.key});
final int start;
final int end;
final Key key;
@override
Widget build(BuildContext context) {
return GestureDetector(
onTap: () {
print(key);
},
child: Card(
key: key,
child: Padding(
padding: const EdgeInsets.all(20.0),
child: Column(
children: <Widget>[
Text(
'Start: $start',
style: TextStyle(
fontSize: 40,
),
),
Text(
'End: $end',
style: TextStyle(
fontSize: 40,
),
),
],
),
),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10),
),
),
);
}
}
例如,当我单击浮动操作按钮时,我只想更改第二个DataCard 小部件的开始和结束值。有没有办法做到这一点?谢谢!
最终目标是让用户能够将DataCard 添加到列表中,其中开始和结束值也由他们确定。之后,无需用户干预即可调整DataCard 的值。
【问题讨论】: