notify method
void
notify()
强制触发响应变更,ValueNotifier 有 2 种情况无法自动响应副作用函数:
- 原始值是一个对象,如果修改对象本身,则无法被 setter 方法拦截;
- setter 方法在通知前会将新增与旧值做对比,如果新值与旧值一样则不会响应监听;
Implementation
void notify() {
if (widget.modelValue is ValueNotifier) {
(widget.modelValue as ValueNotifier).notifyListeners();
} else {
obs.notify();
}
widget.onChanged?.call(modelValue);
}