首页 > 解决方案 > 如何在颤动中保存范围滑块值

问题描述

如您所见,我使用提供程序来传递我的数据,在这里我想用函数保存范围滑块值,当我使用范围滑块的开始和结束值时,它不再起作用我需要更多信息来了解这是如何发生的,但是当我使用我的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();
          });
        },
      ),
    ]),
  ),
);

标签: flutterdartrangeflutter-layoutflutter-widget

解决方案


推荐阅读