我目前正在学习 Flutter,在与滑块的交互结束后,我在显示 Snackbar 时遇到了一些问题(换句话说,最终值是在用户将手指从滑块上抬起时设置的)。我无法调用我的_showSnackBar()方法,onChange因为小吃栏已创建并显示多次,一个接一个。
只有在交互完成后我才能调用方法吗?我正在考虑发出拉取请求并添加诸如onInteractionEnded回调属性之类的东西,但我想先找出另一种方法。
这是我的代码供参考。
class _MySliderState extends State<MySlider> {
int _value = 2;
@override
Widget build(BuildContext context) {
return Slider(
min: 0.0,
max: 4.0,
divisions: 4,
value: (_value * 1.0),
onChanged: (double value) {
setState(() {
_value = value ~/ 1;
});
_showSnackBar();
},
);
}
void _showSnackBar() {
var snackbar = SnackBar(content: const Text('Slider value changed'));
Scaffold.of(context).showSnackBar(snackbar);
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢。
onChangeStart并且最近onChangeEnd被添加到Slider
https://github.com/flutter/flutter/pull/17298
该更改应该已经在 master 中可用。
| 归档时间: |
|
| 查看次数: |
1526 次 |
| 最近记录: |