1

当长按其中任何位置时,让整行触发回调的最佳方法是什么。我使用 a PaginatedDataTable,其中包含DataRow's of DataCell's。

我发现的唯一方法是在每个单元格中添加一个TableRowInkWell或,但这不起作用,您实际上需要长按任何单元格内的文本才能工作。GestureDetectorDataCell

我还尝试添加填充以扩大选择区域,但这会弄乱数据表本身。

      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适用onSelectChangedonTap.

   return DataRow.byIndex(
        onSelectChanged: (bool value) {
          // do something
        },
        index: index,
        cells: dataCells
    );
4

0 回答 0