default on_submit in form set to prevent_default (#4005)
* default submit forms set to prevent_default * fix tests
This commit is contained in:
parent
25016f5e27
commit
130bcf96ca
@ -10,7 +10,7 @@ from jinja2 import Environment
|
|||||||
from reflex.components.el.element import Element
|
from reflex.components.el.element import Element
|
||||||
from reflex.components.tags.tag import Tag
|
from reflex.components.tags.tag import Tag
|
||||||
from reflex.constants import Dirs, EventTriggers
|
from reflex.constants import Dirs, EventTriggers
|
||||||
from reflex.event import EventChain, EventHandler
|
from reflex.event import EventChain, EventHandler, prevent_default
|
||||||
from reflex.utils.imports import ImportDict
|
from reflex.utils.imports import ImportDict
|
||||||
from reflex.vars import VarData
|
from reflex.vars import VarData
|
||||||
from reflex.vars.base import LiteralVar, Var
|
from reflex.vars.base import LiteralVar, Var
|
||||||
@ -148,6 +148,9 @@ class Form(BaseHTML):
|
|||||||
Returns:
|
Returns:
|
||||||
The form component.
|
The form component.
|
||||||
"""
|
"""
|
||||||
|
if "on_submit" not in props:
|
||||||
|
props["on_submit"] = prevent_default
|
||||||
|
|
||||||
if "handle_submit_unique_name" in props:
|
if "handle_submit_unique_name" in props:
|
||||||
return super().create(*children, **props)
|
return super().create(*children, **props)
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
from reflex.components.radix.primitives.form import Form
|
from reflex.components.radix.primitives.form import Form
|
||||||
from reflex.event import EventChain
|
from reflex.event import EventChain, prevent_default
|
||||||
from reflex.vars.base import Var
|
from reflex.vars.base import Var
|
||||||
|
|
||||||
|
|
||||||
@ -15,7 +15,6 @@ def test_render_on_submit():
|
|||||||
|
|
||||||
|
|
||||||
def test_render_no_on_submit():
|
def test_render_no_on_submit():
|
||||||
"""A form without on_submit should not render a submit handler."""
|
"""A form without on_submit should render a prevent_default handler."""
|
||||||
f = Form.create()
|
f = Form.create()
|
||||||
for prop in f.render()["props"]:
|
assert f.event_triggers["on_submit"] == prevent_default
|
||||||
assert "onSubmit" not in prop
|
|
||||||
|
Loading…
Reference in New Issue
Block a user