Flutter Web - 在迭代对象列表时如何保留绝对值?
Flutter Web - How do I retain an absolute value when iterating a list of objects?
我有一个字典列表,其中我有一个 ID。
我遍历列表并创建一个凸起按钮。
提升按钮 'onPressed' 旨在发送创建时 'product' 中的 'id',但它总是发送最后一个 [=17] 中的 'id' =] 列表中的对象。看起来它保留了相对于产品对象的 link 而不是 'id' 的绝对值。 (**只是为了突出显示对象,不在代码中)。
if(productList!=null)
for(product in productList)
TableRow(
children: <Widget>[
Container(
decoration: new BoxDecoration(
color: Colors.white,
),
child: Center(
child: Row(
children: <Widget>[
SizedBox(
width: 50,
height: 20,
child:RaisedButton(
shape: RoundedRectangleBorder(
borderRadius: new BorderRadius.circular(18.0),
),
onPressed: () => editProduct('**${product['id']}**'),
color: Colors.blue,
padding: EdgeInsets.fromLTRB(1, 1, 1, 1),
child: Text('Edit',
style: TextStyle(
color: Colors.white,
fontSize: 10,
),
),
),
),
],
),
],
),
),
),
],
),
我已经尝试了所有我能想到的字符串转换组合。 toString(),用单引号、双引号包裹。有什么建议吗?
试试 for(final product in productList){...}
我有一个字典列表,其中我有一个 ID。 我遍历列表并创建一个凸起按钮。 提升按钮 'onPressed' 旨在发送创建时 'product' 中的 'id',但它总是发送最后一个 [=17] 中的 'id' =] 列表中的对象。看起来它保留了相对于产品对象的 link 而不是 'id' 的绝对值。 (**只是为了突出显示对象,不在代码中)。
if(productList!=null)
for(product in productList)
TableRow(
children: <Widget>[
Container(
decoration: new BoxDecoration(
color: Colors.white,
),
child: Center(
child: Row(
children: <Widget>[
SizedBox(
width: 50,
height: 20,
child:RaisedButton(
shape: RoundedRectangleBorder(
borderRadius: new BorderRadius.circular(18.0),
),
onPressed: () => editProduct('**${product['id']}**'),
color: Colors.blue,
padding: EdgeInsets.fromLTRB(1, 1, 1, 1),
child: Text('Edit',
style: TextStyle(
color: Colors.white,
fontSize: 10,
),
),
),
),
],
),
],
),
),
),
],
),
我已经尝试了所有我能想到的字符串转换组合。 toString(),用单引号、双引号包裹。有什么建议吗?
试试 for(final product in productList){...}