@@ -4,8 +4,8 @@ import 'package:collection/collection.dart';
44import 'package:file_picker/file_picker.dart' ;
55import 'package:flet/src/protocol/file_picker_upload_file.dart' ;
66import 'package:flet/src/protocol/file_picker_upload_progress_event.dart' ;
7+ import 'package:flet/src/utils/desktop.dart' ;
78import 'package:flet/src/web_socket_client.dart' ;
8- import '../protocol/file_picker_result_event.dart' ;
99import 'package:flutter/foundation.dart' ;
1010import 'package:flutter/material.dart' ;
1111import 'package:flutter_redux/flutter_redux.dart' ;
@@ -15,6 +15,7 @@ import '../actions.dart';
1515import '../flet_app_services.dart' ;
1616import '../models/app_state.dart' ;
1717import '../models/control.dart' ;
18+ import '../protocol/file_picker_result_event.dart' ;
1819import '../protocol/update_control_props_payload.dart' ;
1920import '../utils/strings.dart' ;
2021
@@ -63,7 +64,7 @@ class _FilePickerControlState extends State<FilePickerControl> {
6364
6465 debugPrint ("FilePicker _state: $_state , state: $state " );
6566
66- sendEvent () {
67+ resetDialogState () {
6768 _state = null ;
6869 var fletServices = FletAppServices .of (context);
6970 List <Map <String , String >> props = [
@@ -72,6 +73,14 @@ class _FilePickerControlState extends State<FilePickerControl> {
7273 fletServices.store.dispatch (UpdateControlPropsAction (
7374 UpdateControlPropsPayload (props: props)));
7475 fletServices.ws.updateControlProps (props: props);
76+ }
77+
78+ sendEvent () {
79+ if (defaultTargetPlatform != TargetPlatform .windows ||
80+ ! isDesktop ()) {
81+ resetDialogState ();
82+ }
83+ var fletServices = FletAppServices .of (context);
7584 fletServices.ws.pageEventFromWeb (
7685 eventTarget: widget.control.id,
7786 eventName: "result" ,
@@ -88,6 +97,12 @@ class _FilePickerControlState extends State<FilePickerControl> {
8897 if (_state != state) {
8998 _path = null ;
9099 _files = null ;
100+ _state = state;
101+
102+ if (isDesktop () &&
103+ defaultTargetPlatform == TargetPlatform .windows) {
104+ resetDialogState ();
105+ }
91106
92107 // pickFiles
93108 if (state? .toLowerCase () == "pickfiles" ) {
@@ -138,7 +153,6 @@ class _FilePickerControlState extends State<FilePickerControl> {
138153 sendEvent ();
139154 });
140155 }
141- _state = state;
142156 }
143157
144158 // upload files
0 commit comments