File tree Expand file tree Collapse file tree 1 file changed +9
-2
lines changed Expand file tree Collapse file tree 1 file changed +9
-2
lines changed Original file line number Diff line number Diff line change @@ -312,14 +312,21 @@ def trigger_onchange(event_data, onchange_funcs):
312312 name = event_data ['name' ]
313313 onchange_func = onchange_funcs [name ]
314314
315+ # save current input name to session, so that the `input_update()` function can get it
315316 task_id = get_current_task_id ()
316- get_current_session ().internal_save ['onchange_trigger-' + task_id ] = name # used in `pywebio.input.input_update()`
317+ onchange_trigger_key = 'onchange_trigger-' + task_id
318+ previous_name = get_current_session ().internal_save .get (onchange_trigger_key )
319+ get_current_session ().internal_save [onchange_trigger_key ] = name # used in `pywebio.input.input_update()`
320+
317321 try :
318322 onchange_func (event_data ['value' ])
319323 except Exception as e :
320324 logger .warning ('Get %r in onchange function for name:"%s"' , e , name )
321325 finally :
322- del get_current_session ().internal_save ['onchange_trigger-' + task_id ]
326+ if previous_name is None :
327+ get_current_session ().internal_save .pop (onchange_trigger_key , None )
328+ else :
329+ get_current_session ().internal_save [onchange_trigger_key ] = previous_name
323330
324331
325332@chose_impl
You can’t perform that action at this time.
0 commit comments