Flutter DataTable-点击行

我正在使用Flutter DataTables显示购物车中的项目列表。现在,我要编辑任何选定行的数量。有没有办法获取用户点击的行的信息?

以下是我的数据表的完整代码:

class _DataTableSampleState extends State<DataTableSample> {

void _getSelectedRowInfo() {

print('Selected Item Row Name Here...')

}

@override

Widget build(BuildContext context) {

return Scaffold(

appBar: AppBar(

title: Text('DataTable Sample'),

),

body: Container(

child: DataTable(

onSelectAll: (b) {},

sortAscending: true,

columns: <DataColumn>[

DataColumn(

label: Text('Item'),

),

DataColumn(

label: Text('Price'),

),

],

rows: items

.map(

(itemRow) => DataRow(

cells: [

DataCell(

Text(itemRow.itemName),

showEditIcon: false,

placeholder: false,

),

DataCell(

Text(itemRow.itemPrice),

showEditIcon: true,

placeholder: false,

onTap: _getSelectedRowInfo,

),

],

),

)

.toList(),

),

),

);

}

}

class ItemInfo {

String itemName;

String itemPrice;

ItemInfo({

this.itemName,

this.itemPrice,

});

}

var items = <ItemInfo>[

ItemInfo(

itemName: 'Item A',

itemPrice: '250',

),

ItemInfo(

itemName: 'Item B',

itemPrice: '100',

),

ItemInfo(

itemName: 'Item C',

itemPrice: '150',

),

];

单击编辑图标时,将调用“ _getSelectedRowInfo”方法。我想在此功能中获取选定/点击的行的完整详细信息。

回答:

您可以使用DataRow中的onSelectChanged属性。

rows: items

.map(

(itemRow) => DataRow(

onSelectChanged: (bool selected) {

if (selected) {

log.add('row-selected: ${itemRow.index}');

}

},

cells: [

// ..

],

),

以上是 Flutter DataTable-点击行 的全部内容, 来源链接: utcz.com/qa/424148.html

回到顶部