Repository: flutter
Issue: [Cupertino] `CupertinoDatePicker`'s `onDateTimeChanged` called repeatedly when scrolling date/time wheel
Labels: framework,f: date/time picker,a: fidelity,f: cupertino,has reproducible steps,found in release: 2.6,team-design,triaged-design

### Description

[onDateTimeChanged](https://master-api.flutter.dev/flutter/cupertino/CupertinoDatePicker/onDateTimeChanged.html) is called for every item in scroll wheel  in `CupertinoDatePicker`. While in native `DatePicker`, value change is called only when the wheel stops scrolling. 

<details> 
<summary>minimal code sample</summary> 

```dart
import 'package:flutter/cupertino.dart';

void main() => runApp(const MyApp());

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return CupertinoApp(
      home: CupertinoPageScaffold(
        navigationBar: const CupertinoNavigationBar(
          middle: Text('Example'),
        ),
        child: Center(
          child: CupertinoDatePicker(
            onDateTimeChanged: (DateTime dateTime) {
              print('Date changed - $dateTime');
            },
          ),
        ),
      ),
    );
  }
}

``` 
	
</details>


### Here is a quick comparison
#### Flutter
https://user-images.githubusercontent.com/48603081/139222626-393671b5-05a6-4f0c-a1ee-16c614aa29c2.mov

#### iOS
https://user-images.githubusercontent.com/48603081/139222638-3db72064-47fc-4c7e-bb28-19e4f6b8b71d.mov





<details> 
<summary>flutter doctor -v</summary> 
	
```console
[✓] Flutter (Channel master, 2.6.0-12.0.pre.481, on macOS 12.0.1 21A559
    darwin-x64, locale en-GB)
    • Flutter version 2.6.0-12.0.pre.481 at /Users/tahatesser/Code/flutter
    • Upstream repository git@github.com:NevercodeHQ/flutter.git
    • Framework revision ccc90036b6 (25 hours ago), 2021-10-27 03:43:02 -0400
    • Engine revision fbad0fda67
    • Dart version 2.15.0 (build 2.15.0-257.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at /Users/tahatesser/Code/SDK
    • Platform android-31, build-tools 30.0.2
    • ANDROID_HOME = /Users/tahatesser/Code/SDK
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2020.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)

[✓] VS Code (version 1.61.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.27.0

[✓] Connected device (3 available)
    • iPhone 13 (mobile) • 43523711-3842-481A-A3A0-0747D42B0963 • ios
      • com.apple.CoreSimulator.SimRuntime.iOS-15-0 (simulator)
    • macOS (desktop)    • macos                                • darwin-x64
      • macOS 12.0.1 21A559 darwin-x64
    • Chrome (web)       • chrome                               • web-javascript
      • Google Chrome 95.0.4638.54

• No issues found!
```
	 
</details>