flutter - Dart 对从概念上改变属性的操作使用 setter
问题描述
在下面的代码中,当我尝试设置值以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
}
}
我如何为此定义setter?
解决方案
我想它希望你这样做:
set scrollToPosition(int selectedPagePosition) {
position.value = selectedPagePosition;
}
然后调用者将使用scrollToPosition = position
而不是scrollToPosition(position)
.
假设scrollToPosition()
执行一些滚动操作,我个人更喜欢它看起来像一个函数调用,我会用
// ignore: use_setters_to_change_properties
(但是,如果它被命名为position
,那么 setter 可能更合适。)
推荐阅读
- python - update radio button in PySimpleGUI
- node.js - 我可以在一个应用程序中使用 symfony nodeJS 和 angular
- c# - 实体框架:由于跟踪而无法保存数据
- java - 通过命令行运行 Java 项目(带有 Maven 依赖项)
- javascript - How to logout the authenticated token correctly after API call returns response?
- python - 有没有办法为单选按钮定义命令以在多项选择测验中显示正确或错误答案?
- reactjs - TypeError: this.props.likeMovie 不是函数
- java - Should i make an instance of my controller for every instance of my ListItem?
- java - 从android中的Firebase读取变量后如何更改变量的值?
- json - jq 打印版本号是否为依赖项或开发依赖项