如何在颤动中保存范围滑块值

时间:2021-01-09 07:27:05

标签: flutter dart range flutter-layout flutter-widget

正如你所看到的,我使用提供程序来传递我的数据,在这里我想用一个函数保存rangeslider值,当我使用rangeslider的开始和结束值时,它不再起作用我需要更多关于这是如何发生的信息,但是当我在改回第一个位置后使用我的范围滑块时,这是我的代码

final range =
    ModalRoute.of(context).settings.arguments as Map<String, dynamic>;
final atta = Provider.of<AttProvider>(context);
RangeValues values = RangeValues(
  range['min'].toDouble(),
  range['max'].toDouble(),
);
var start = range['min'];
var end = range['max'];
return Scaffold(
  appBar: AppBar(
    centerTitle: true,
    title: Text(range['title']),
  ),
  body: StatefulBuilder(
    builder: (context, setState) => Column(children: [
      Padding(
        padding: const EdgeInsets.all(8.0),
        child: Row(
          children: [
            Text('Start in'),
            Text(
              ' $start',
              style: TextStyle(color: Colors.black),
            ),
            Spacer(),
            Text('End in '),
            Text(
              '$end',
              style: TextStyle(color: Colors.black),
            ),
          ],
        ),
      ),
       RangeSlider(
        onChangeEnd: (vala) {
          atta.addItem(
              range['id'], 0, vala.start.toInt(), vala.end.toInt(), true);
        },
        values: values,
        min: range['min'].toDouble(),
        max: range['max'].toDouble(),
        onChanged: (val) {
          setState(() {
            values = val;
            start = val.start.toInt();
            end = val.end.toInt();
          });
        },
      ),
    ]),
  ),
);

0 个答案:

没有答案