From 3f139e32090167e62d6f8e5225c4e04b5f87b866 Mon Sep 17 00:00:00 2001 From: Benedikt Bartscher Date: Sun, 10 Nov 2024 23:22:54 +0100 Subject: [PATCH] fix it early in user_args --- reflex/event.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/reflex/event.py b/reflex/event.py index 3a114cd23..6da5f995a 100644 --- a/reflex/event.py +++ b/reflex/event.py @@ -1345,6 +1345,10 @@ def check_fn_match_arg_spec( EventFnArgMismatch: Raised if the number of mandatory arguments do not match """ user_args = inspect.getfullargspec(user_func).args + # Drop the first argument if it's a method + if inspect.ismethod(user_func): + user_args = user_args[1:] + user_default_args = inspect.getfullargspec(user_func).defaults number_of_user_args = len(user_args) - number_of_bound_args number_of_user_default_args = len(user_default_args) if user_default_args else 0 @@ -1353,10 +1357,6 @@ def check_fn_match_arg_spec( number_of_event_args = len(parsed_event_args) - # Subtract 1 if the method is a bound method - if inspect.ismethod(user_func): - number_of_user_args -= 1 - if number_of_user_args - number_of_user_default_args > number_of_event_args: raise EventFnArgMismatch( f"Event {key} only provides {number_of_event_args} arguments, but "