flutter 如何在riverpod中更改多个双精度值

jv4diomz  于 2022-12-19  发布在  Flutter
关注(0)|答案(1)|浏览(135)

我是新来的riverpod。我想得到startValueendValue的值,然后改变他们的值使用riverpod。
我试着给变量赋值state,但是效果不好。我无法得到起始值和结束值。
"我所尝试的"

class DoubleNotifier extends StateNotifier<double> {
 DoubleNotifier(): super(0.0);

 double startValue = state;
 double endValue = state;

 }

有什么更好的办法吗?

yvgpqqbh

yvgpqqbh1#

import 'package:flutter_riverpod/flutter_riverpod.dart';

class DoubleNotifier extends StateNotifier<MyState> {
DoubleNotifier(): super(const MyState(startValue: 0,endValue: 0));

void changeStartValue(double startValue){
  state = state.copyWith(startValue: startValue);
}

void changeEndValue(double endValue){
  state = state.copyWith(endValue: endValue);
}

void changeBothValue(double startValue, double endValue){
  state = state.copyWith(startValue: startValue, endValue:  endValue);
}

}

class MyState {

  final double startValue;
  final double endValue;

  const MyState({required this.startValue,required this.endValue});

  MyState copyWith({double? startValue, double? endValue}){
    return MyState(
        startValue: startValue ?? this.startValue,
        endValue: endValue ?? this.endValue
    );
  }

}

相关问题