在下面的这段代码中,当我尝试将值设置为ValueNotifier
时,我得到了分析信息,
info: Use a setter for operations that conceptually change a property. (use_setters_to_change_properties at
[XXXXX] lib\service\providers\value_notifier_scroll_to_selected_page_position.dart:6)
我的代码:
class ScrollToSelectedPagePosition {
final ValueNotifier<int> position = ValueNotifier<int>(0);
void scrollToPosition(int selectedPagePosition){
position.value = selectedPagePosition; // <--- Getting info here
}
}
我该如何定义二传手?
最佳答案
我想它希望您这样做:
set scrollToPosition(int selectedPagePosition) {
position.value = selectedPagePosition;
}
然后调用者将使用
scrollToPosition = position
而不是scrollToPosition(position)
。假设
scrollToPosition()
执行一些滚动操作,就我个人而言,我更喜欢它看起来像一个函数调用,并且我使用// ignore: use_setters_to_change_properties
(但是,如果将其命名为
position
,则setter可能更合适。)