浏览代码

custom serializer for data editor props

Elijah 1 年之前
父节点
当前提交
70b76fea21
共有 2 个文件被更改,包括 16 次插入2 次删除
  1. 14 0
      reflex/components/datadisplay/dataeditor.py
  2. 2 2
      reflex/utils/serializers.py

+ 14 - 0
reflex/components/datadisplay/dataeditor.py

@@ -7,6 +7,7 @@ from reflex.base import Base
 from reflex.components.component import Component, NoSSRComponent
 from reflex.components.literals import LiteralRowMarker
 from reflex.utils import console, format, imports, types
+from reflex.utils.serializers import serializer
 from reflex.vars import ImportVar, Var, get_unique_variable_name
 
 LiteralDataEditorGridColumnIcons = Literal[
@@ -408,3 +409,16 @@ class DataEditor(NoSSRComponent):
 
 # except ImportError:
 #     pass
+
+
+@serializer
+def serialize_data_editor_prop(prop: DataEditorProp) -> dict:
+    """The serializer for the data editor theme.
+
+    Args:
+        prop: The prop to serialize.
+
+    Returns:
+        The serialized prop.
+    """
+    return prop.dict()

+ 2 - 2
reflex/utils/serializers.py

@@ -153,7 +153,7 @@ def serialize_primitive(value: Union[bool, int, float, None]) -> str:
 
 
 @serializer
-def serialize_base(value: Base) -> dict:
+def serialize_base(value: Base) -> str:
     """Serialize a Base instance.
 
     Args:
@@ -162,7 +162,7 @@ def serialize_base(value: Base) -> dict:
     Returns:
         The serialized Base.
     """
-    return value.dict()
+    return value.json()
 
 
 @serializer