如何在 Flutter 的 DataTable 中监听 DataRow 的点击
Posted
技术标签:
【中文标题】如何在 Flutter 的 DataTable 中监听 DataRow 的点击【英文标题】:How to listen for tap on DataRow inside DataTable in Flutter 【发布时间】:2019-03-31 11:12:34 【问题描述】:我能够设置一个 DataTable 来显示一堆数据。但是想要在点击一行时导航到另一个屏幕。
很遗憾,DataRow 没有 onTap 回调。
我最终为每个 DataCell 添加了 onTap,这看起来像是一个 hacky 解决方案。有没有其他方法可以解决这个问题?
【问题讨论】:
用docs.flutter.io/flutter/widgets/GestureDetector-class.html包装它 不能将其包装为 DataTable 属性“行”需要 DataRow s 或小部件的数组 我明白了。我想您需要包装整个表格,然后找出该位置下方的哪一行。可能值得提出功能请求。 这个问题有什么解决办法吗?正如我所面临的一样 【参考方案1】:DataRow 中的 onTap 调用是 onSelectChanged 函数
DataRow(
cells: [
DataCell(Text("ID"))
,DataCell(Text("NAME"))
],
onSelectChanged: (value)
// insert your navigation function here and use the selected value returned by the function
Navigator.of(context).pop(value);
);
【讨论】:
以上是关于如何在 Flutter 的 DataTable 中监听 DataRow 的点击的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Flutter/Dart 中使用 Hive 框和索引以简单的方式将数据动态加载到 DataTable?
如何在 Flutter 中对 DataTable 小部件上的 Future<List> 数据类型进行排序?
使用 Firestore 和 Flutter 填充 DataTable(使用 StreamBuilder)
Flutter:有啥办法可以改变DataTable的行线颜色?