当长按其中任何位置时,让整行触发回调的最佳方法是什么。我使用 a PaginatedDataTable
,其中包含DataRow
's of DataCell
's。
我发现的唯一方法是在每个单元格中添加一个TableRowInkWell
或,但这不起作用,您实际上需要长按任何单元格内的文本才能工作。GestureDetector
DataCell
我还尝试添加填充以扩大选择区域,但这会弄乱数据表本身。
dataCells.add(DataCell(
TableRowInkWell(
onLongPress: () {
// do something
},
onTap: () {
// do something
},
child: ConstrainedBox(
constraints: BoxConstraints(maxWidth: 150),
child: Text(
content,
overflow: TextOverflow.fade,
maxLines: 1,
softWrap: false,
),
),
),
));
除了DataRow.byIndex
适用onSelectChanged
于onTap
.
return DataRow.byIndex(
onSelectChanged: (bool value) {
// do something
},
index: index,
cells: dataCells
);