@@ -160,6 +160,8 @@ class _SettingsMState extends State<SettingsM> {
160160 }
161161
162162 Future <void > showActiveOrderDialog (BuildContext context) async {
163+ OrderTypes type= storeGet.defaultActiveOrder.value;
164+ bool changed= false ;
163165 await showDialog (
164166 context: context,
165167 barrierDismissible: false ,
@@ -170,29 +172,41 @@ class _SettingsMState extends State<SettingsM> {
170172 color: Theme .of (context).brightness== Brightness .dark ? Colors .white : Colors .black
171173 ),
172174 ),
173- content: Obx (()=>
174- DropDownContent (
175- selected: null ,
176- selectedIcon: orderToIcon (storeGet.defaultActiveOrder.value),
177- selectedText: orderToString (storeGet.defaultActiveOrder.value),
178- func: (val){
179- val= val as OrderTypes ;
180- storeGet.defaultActiveOrder.value= val;
181- prefs.setInt ("defaultActiveOrder" , val.index);
182- },
183- list: OrderTypes .values.map ((item)=> CustomDropDownItem (orderToString (item), item, orderToIcon (item))).toList (),
184- mobile: true ,
185- ),
175+ content: StatefulBuilder (
176+ builder: (context, setState) {
177+ return DropDownContent (
178+ selected: null ,
179+ selectedIcon: orderToIcon (type),
180+ selectedText: orderToString (type),
181+ func: (val){
182+ val= val as OrderTypes ;
183+ setState ((){
184+ type= val;
185+ });
186+ },
187+ list: OrderTypes .values.map ((item)=> CustomDropDownItem (orderToString (item), item, orderToIcon (item))).toList (),
188+ mobile: true ,
189+ );
190+ }
186191 ),
187192 actions: [
188- ElevatedButton (
193+ TextButton (
189194 onPressed: ()=> Navigator .pop (context),
195+ child: const Text ("取消" )
196+ ),
197+ ElevatedButton (
198+ onPressed: (){
199+ changed= true ;
200+ Navigator .pop (context);
201+ },
190202 child: const Text ("完成" )
191203 )
192204 ],
193205 )
194206 );
195- if (context.mounted){
207+ if (context.mounted && changed){
208+ storeGet.defaultActiveOrder.value= type;
209+ prefs.setInt ("defaultActiveOrder" , type.index);
196210 showErrWarnDialog (
197211 context,
198212 "已修改默认顺序" ,
@@ -202,6 +216,8 @@ class _SettingsMState extends State<SettingsM> {
202216 }
203217
204218 Future <void > showFinishOrderDialog (BuildContext context) async {
219+ bool changed= false ;
220+ OrderTypes type= storeGet.defaultFinishOrder.value;
205221 await showDialog (
206222 context: context,
207223 barrierDismissible: false ,
@@ -212,29 +228,41 @@ class _SettingsMState extends State<SettingsM> {
212228 color: Theme .of (context).brightness== Brightness .dark ? Colors .white : Colors .black
213229 ),
214230 ),
215- content: Obx (
216- ()=> DropDownContent (
217- selected: null ,
218- selectedIcon: orderToIcon (storeGet.defaultFinishOrder.value),
219- selectedText: orderToString (storeGet.defaultFinishOrder.value),
220- func: (val){
221- val= val as OrderTypes ;
222- storeGet.defaultFinishOrder.value= val;
223- prefs.setInt ("defaultFinishOrder" , val.index);
224- },
225- list: OrderTypes .values.map ((item)=> CustomDropDownItem (orderToString (item), item, orderToIcon (item))).toList (),
226- mobile: true ,
227- ),
231+ content: StatefulBuilder (
232+ builder: (context, setState) {
233+ return DropDownContent (
234+ selected: null ,
235+ selectedIcon: orderToIcon (type),
236+ selectedText: orderToString (type),
237+ func: (val){
238+ val= val as OrderTypes ;
239+ setState ((){
240+ type= val;
241+ });
242+ },
243+ list: OrderTypes .values.map ((item)=> CustomDropDownItem (orderToString (item), item, orderToIcon (item))).toList (),
244+ mobile: true ,
245+ );
246+ }
228247 ),
229248 actions: [
249+ TextButton (
250+ onPressed: ()=> Navigator .pop (context),
251+ child: const Text ("取消" )
252+ ),
230253 ElevatedButton (
231- onPressed: ()=> Navigator .pop (context),
254+ onPressed: (){
255+ Navigator .pop (context);
256+ changed= true ;
257+ },
232258 child: const Text ("完成" )
233259 )
234260 ],
235261 ),
236262 );
237- if (context.mounted){
263+ if (context.mounted && changed){
264+ storeGet.defaultFinishOrder.value= type;
265+ prefs.setInt ("defaultFinishOrder" , type.index);
238266 showErrWarnDialog (
239267 context,
240268 "已修改默认顺序" ,
0 commit comments