Метчик с ручкой в ​​Flutter TableRow

Мне нужно сделать TableRow интерактивным и перейти на другой экран, но я не могу обернуть TableRow с помощью GestureDetector или Inkwell. Как сделать TableRow интерактивной. Я реализовал следующее:

for (int i = 0; i < menuList.length; i++)
              TableRow(children: [
                SizedBox(
                  width: 5,
                ),
                Text((i + 1).toString()),
                Text(menuList[i].name),
                Text(menuList[i].price.toString()),
                Text(menuList[i].maxQty.toString()),
                menuList[i].status == 0
                    ? Text(
                        menuList[i].foodStatus,
                        style: TextStyle(color: Colors.red),
                      )
                    : YourListViewItem(
                        id: menuList[i].id,
                        index: menuList[i].status,
                      ),
              ]),

3 ответа

Я не думаю, что ты сможешь это сделать,

Вы можете использовать DataTable вместо виджета " Таблица", он определенно удовлетворит ваши потребности.

В DataRow есть свойство onSelectChanged, это именно то, что вам нужно.

Не для всей строки, а для отдельных ячеек в строке вы можете использовать TableRowInkWell. TableRowInkWell входит внутрь самого TableRow, обертывая дочерний элемент. Вот ответ, отданный SoloWofl93: Как использовать TableRowInkWell внутри таблицы во флаттере?

      Table(
  border: TableBorder.all(),
  children: [
    TableRow(children: [
     
      // HERE IT IS...
      TableRowInkWell(
        onTap: (){},
        child: Column(children: [
          Icon(
            Icons.account_box,
            size: iconSize,
          ),
          Text('My Account'),
        ]),
      ),
     
      Column(children: [
        Icon(
          Icons.settings,
          size: iconSize,
        ),
        Text('Settings')
      ]),
    ]),
  ],
)

Сделать это кажется невозможным.

Вы можете попробовать добавить чернильницу в строку таблицы точно такого же размера поверх исходной таблицы, используя виджет стека.

Другие вопросы по тегам