add recursive memoization to auto scroll if key is provided

This commit is contained in:
Khaleel Al-Adhami 2025-02-21 17:27:48 -08:00
parent 98f50811f9
commit c2c4651310

View File

@ -2,6 +2,8 @@
from __future__ import annotations from __future__ import annotations
import dataclasses
from reflex.components.el.elements.typography import Div from reflex.components.el.elements.typography import Div
from reflex.constants.compiler import MemoizationDisposition, MemoizationMode from reflex.constants.compiler import MemoizationDisposition, MemoizationMode
from reflex.utils.imports import ImportDict from reflex.utils.imports import ImportDict
@ -28,7 +30,12 @@ class AutoScroll(Div):
""" """
props.setdefault("overflow", "auto") props.setdefault("overflow", "auto")
props.setdefault("id", get_unique_variable_name()) props.setdefault("id", get_unique_variable_name())
return super().create(*children, **props) component = super().create(*children, **props)
if "key" in props:
component._memoization_mode = dataclasses.replace(
component._memoization_mode, recursive=True
)
return component
def add_imports(self) -> ImportDict | list[ImportDict]: def add_imports(self) -> ImportDict | list[ImportDict]:
"""Add imports required for the component. """Add imports required for the component.