首页 > 解决方案 > Flutter DataTable - 点击整行

问题描述

我是 Flutter 的新手。我需要有关 DataCell 中 OnTap 的帮助。例如,我想要行而不是点击一个单元格。

这是我的代码

DataTable(
     columns: <DataColumn>[
        DataColumn(
          label: Text("Title"),
          ),
        DataColumn(
          label: Text("Contacts"),
          ),
         )
        ],
         rows: contracts.map((contract) => DataRow(
             cells: [
               DataCell(Text(contract.title),
                  onTap: () {
                      Navigator.push(context, MaterialPageRoute(
                              builder: (context) => List(),),
                           );
                         }),
               DataCell(Text(contract.contacts),
                  onTap: () {
                      Navigator.push(context, MaterialPageRoute(
                              builder: (context) => List(),),
                           );
                         }),).toList()

我想点击一个特定的行,它会路由到另一个页面,也会发送它的索引值。

标签: flutterdartdatatable

解决方案


有同样的问题,意识到你可以使用onSelectChanged来自DataRow.

示例来自DataTable

rows: searchList.map((item) {
        return DataRow(
          onSelectChanged: (bool value) {
             // ENTER CALLBACK HERE (It's not restricted to use the bool)
          },
          cells: ...

请注意,这将使Checkbox可见,如果您不需要这样做,请确保您showCheckboxColumn强制falseDataTable

    return DataTable(
      showCheckboxColumn: false,
      columns: [...]

推荐阅读