Quellcode durchsuchen

fix chakra list, allow Tag.tag to be None in validation

Benedikt Bartscher vor 1 Jahr
Ursprung
Commit
6d96a94d82
2 geänderte Dateien mit 15 neuen und 6 gelöschten Zeilen
  1. 14 5
      reflex/components/chakra/datadisplay/list.py
  2. 1 1
      reflex/components/tags/tag.py

+ 14 - 5
reflex/components/chakra/datadisplay/list.py

@@ -1,17 +1,14 @@
 """List components."""
 from __future__ import annotations
 
-from typing import Generic, Optional, TypeVar
+from typing import Optional
 
 from reflex.components.chakra import ChakraComponent
 from reflex.components.component import Component
 from reflex.components.core.foreach import Foreach
 from reflex.vars import Var
 
-T = TypeVar("T")
-
-# TODO: Generic is just a hacky workaround to stop pydantic from complaining
-class List(ChakraComponent, Generic[T]):
+class List(ChakraComponent):
     """Display a list of items."""
 
     tag: str = "List"
@@ -25,6 +22,18 @@ class List(ChakraComponent, Generic[T]):
     # Shorthand prop for listStyleType
     style_type: Optional[Var[str]] = None
 
+    @classmethod
+    def __class_getitem__(cls, item):
+        """This method is just a hacky workaround to stop pydantic v2 from complaining.
+
+        Args:
+            item: The type of the list items.
+
+        Returns:
+            The list component.
+        """
+        return cls
+
     @classmethod
     def create(
         cls, *children, items: list | Var[list] | None = None, **props

+ 1 - 1
reflex/components/tags/tag.py

@@ -14,7 +14,7 @@ class Tag(Base):
     """A React tag."""
 
     # The name of the tag.
-    name: str = ""
+    name: str | None = ""
 
     # The props of the tag.
     props: Dict[str, Any] = {}