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){...}