我正在为 iOS 用户使用 CupertinoWidget 来滚动列表并检查货币的价格。但是当滚动发生时,onSelectedItemChanged会针对列表中的每个值向 API 发送回调。我阅读了文档,但无法理解该怎么做。如果有例子就很高兴。
在文档中它被称为CupertinoPicker > onSelectedItemChanged 属性
这可以在卷轴和弹道投掷期间调用。要仅在滚动稳定时获取值,请使用 NotificationListener,侦听 ScrollEndNotification 并读取其 FixedExtentMetrics。
NotificationListener cupertinoPickerList() {
List<Text> textWidgetList = [];
for (String curreny in currenciesList) {
textWidgetList.add(
Text(
curreny,
style: TextStyle(
color: Colors.white,
),
),
);
}
return NotificationListener<ScrollNotification>(
onNotification: (scrollNotification) {
if (scrollNotification is ScrollEndNotification) {
return true;
} else {
return false;
}
},
child: CupertinoPicker(
itemExtent: 30,
scrollController: FixedExtentScrollController(initialItem: 19),
onSelectedItemChanged: (selectedIndex) {
selectedCurreny = currenciesList[selectedIndex];
updateUI(selectedCurreny);
print(selectedCurreny);
},
children: textWidgetList,
),
);
}