установить значение для переключателя виджета внутри строки таблицы данных в флаттере - PullRequest
0 голосов
/ 30 сентября 2018

Я собираюсь поместить виджет-переключатель внутри строки таблиц данных, но есть проблема: я не знаю, где мне установить значение для виджета-переключателя, так как я не знаком с синтаксисом флаттера

class DevicePage extends StatefulWidget {
  @override
  DevicePageState createState() {
    return new DevicePageState();
  }
}
  class DevicePageState extends State<DevicePage>{
    Widget bodyData()=>DataTable(
        columns:<DataColumn>[
          DataColumn(
            label: Text('وضعیت',style: TextStyle(color: Colors.deepPurple,fontWeight: FontWeight.bold,fontSize: 13.0),),
            numeric: false,
            onSort: (i,b){},
            tooltip: "to display first name of th e name"
          ),
          DataColumn(
              label: Text('عملکرد',style: TextStyle(color: Colors.deepPurple,fontWeight: FontWeight.bold,fontSize: 13.0),),
              numeric: false,
              onSort: (i,b){},
              tooltip: "to display Last name of th e name"
          ),
        ],

      rows: names.map((name)=>DataRow(
        cells: [
          DataCell(

          Switch( value: _value, onChanged: (bool value){_onChaned(value);}),
            ),

          DataCell(
            new Text(name.lastName,style: TextStyle(color: Colors.blueAccent,fontWeight: FontWeight.bold,fontSize: 12.0),),
            showEditIcon: false,
            placeholder: false,
          ),

        ],
      ),
      ).toList()
    ) ;

    bool _value = false;
    int index;
    void _onChaned(bool value ){
      setState(() {
         _value=value;
      });
    }

и тнк за вашу помощь;)

1 Ответ

0 голосов
/ 30 сентября 2018

Вы можете сделать что-то вроде этого:

Switch(
    value: _switchValue, 
    onChanged: (bool value) {
        _switchValue = value;
    },
)

Вы можете вызвать setState, чтобы увидеть изменения:

Switch(
    value: _switchValue, 
    onChanged: (bool value) {
        setState(() {
          _switchValue = value;   
        });
    },
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...