[Flutter]DataTableのチェックボックスが変わらない時の対処法

Flutter

どうも、ちょげ(@chogetarou)です。

「DataTableのチェックボックスがタップしても変わらない」

という人に向けて、DataTableのチェックボックスの状態が変わらない時の対処法を紹介します。

スポンサーリンク

対処法

インターフェース, インターネット, プログラム, ブラウザ, Www

ここでは対処法を2つ紹介します。

selected

1つは、DataRowの引数「selected」にチェック中かどうかのBool値を指定する方法です。

DataRow(
  selected: _isSelected,
  cells: [
    ・・・
  ],
),

これを設定していないと、値が変わっても状態が変化しません。

setState

もう1つは、「setState」を使う方法です。

具体的には、DataRowの引数「onSelectedChanged」の関数の処理をsetStateでラップします。

DataRow(
  onSelectChanged: (bool? selected) {
    setState(() {
      //処理
    });
  },
  cells: [
    ・・・
  ],
),

まとめ

この記事で紹介したDataTableのチェックボックスが変わらない時の対処法は、次の2つです。

  • DataRowの引数「seleted」
  • DataRowの引数「onSelectedChanged」でsetStateを使う

コメント

タイトルとURLをコピーしました