소스 검색

Fix datatable rendering (#1360)

Thomas Brandého 1 년 전
부모
커밋
9510c58296
1개의 변경된 파일16개의 추가작업 그리고 19개의 파일을 삭제
  1. 16 19
      reflex/components/datadisplay/datatable.py

+ 16 - 19
reflex/components/datadisplay/datatable.py

@@ -101,25 +101,22 @@ class DataTable(Gridjs):
 
 
     def _render(self) -> Tag:
     def _render(self) -> Tag:
         if isinstance(self.data, Var):
         if isinstance(self.data, Var):
-            self.columns = BaseVar(
-                name=f"{self.data.name}.columns"
-                if types.is_dataframe(self.data.type_)
-                else f"{self.columns.name}",
-                type_=List[Any],
-                state=self.data.state,
-            )
-            self.data = BaseVar(
-                name=f"{self.data.name}.data"
-                if types.is_dataframe(self.data.type_)
-                else f"{self.data.name}",
-                type_=List[List[Any]],
-                state=self.data.state,
-            )
-
-        # If given a pandas df break up the data and columns
-        if types.is_dataframe(type(self.data)):
-            self.columns = Var.create(list(self.data.columns.values.tolist()))  # type: ignore
-            self.data = Var.create(format.format_dataframe_values(self.data))  # type: ignore
+            if types.is_dataframe(self.data.type_):
+                self.columns = BaseVar(
+                    name=f"{self.data.name}.columns",
+                    type_=List[Any],
+                    state=self.data.state,
+                )
+                self.data = BaseVar(
+                    name=f"{self.data.name}.data",
+                    type_=List[List[Any]],
+                    state=self.data.state,
+                )
+        else:
+            # If given a pandas df break up the data and columns
+            if types.is_dataframe(type(self.data)):
+                self.columns = Var.create(list(self.data.columns.values.tolist()))  # type: ignore
+                self.data = Var.create(format.format_dataframe_values(self.data))  # type: ignore
 
 
         # Render the table.
         # Render the table.
         return super()._render()
         return super()._render()