onLongPress PaginatedDataTable DataRow
Каков наилучший способ, чтобы вся строка вызывала обратный вызов при длительном нажатии в любом месте в ней. Я используюPaginatedDataTable
, который содержит DataRow
из DataCell
с.
Единственный способ, который я нашел, - это добавить TableRowInkWell
или GestureDetector
внутри каждого DataCell
но это не работает, вам нужно долго нажимать на текст внутри любой из ячеек, чтобы работать.
Ive также попытался добавить отступы, чтобы увеличить область выбора, но это испортило сам datatable.
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
);