Create StatefulComponent for LiteralComponentVar
TODO: actually pass through locals properly
This commit is contained in:
parent
2ffa698c6b
commit
ec02b2c2db
@ -2274,6 +2274,10 @@ class StatefulComponent(BaseComponent):
|
||||
|
||||
return _compile_component(self)
|
||||
|
||||
def __getattr__(self, name) -> Any:
|
||||
# if we don't provide the attribute, get it from the wrapped component
|
||||
return getattr(self.component, name)
|
||||
|
||||
@classmethod
|
||||
def compile_from(cls, component: BaseComponent) -> BaseComponent:
|
||||
"""Walk through the component tree and memoize all stateful components.
|
||||
@ -2474,6 +2478,8 @@ class LiteralComponentVar(CachedVarOperation, LiteralVar, ComponentVar):
|
||||
Returns:
|
||||
The var.
|
||||
"""
|
||||
if not isinstance(value, StatefulComponent):
|
||||
value = StatefulComponent.compile_from(value) or value
|
||||
return LiteralComponentVar(
|
||||
_js_expr="",
|
||||
_var_type=type(value),
|
||||
|
Loading…
Reference in New Issue
Block a user