Ver Fonte

handle dynamic value for selected (#1610)

resolves #1609

Co-authored-by: Fred Lefévère-Laoide <Fred.Lefevere-Laoide@Taipy.io>
Fred Lefévère-Laoide há 10 meses atrás
pai
commit
eee7269625

+ 4 - 3
taipy/gui/_renderers/builder.py

@@ -663,8 +663,8 @@ class _Builder:
                 sel = []
 
     def _get_list_attribute(self, name: str, list_type: PropertyType):
-        varname = self.__hashes.get(name)
-        if varname is None:
+        hash_name = self.__hashes.get(name)
+        if hash_name is None:
             list_val = self.__attributes.get(name)
             if isinstance(list_val, str):
                 list_val = list(list_val.split(";"))
@@ -680,7 +680,8 @@ class _Builder:
                 list_val = []
             self.__set_react_attribute(_to_camel_case(name), list_val)
         else:
-            self.__set_react_attribute(_to_camel_case(name), varname)
+            self.__set_react_attribute(_to_camel_case(name), hash_name)
+            self.__update_vars.append(f"{_to_camel_case(name)}={hash_name}")
         return self
 
     def __set_class_names(self):

+ 1 - 1
taipy/gui/_renderers/factory.py

@@ -502,6 +502,7 @@ class _Factory:
         )
         .set_value_and_default(with_default=False, var_type=PropertyType.data)
         ._get_dataframe_attributes()
+        ._get_list_attribute("selected", PropertyType.number)
         .set_attributes(
             [
                 ("page_size", PropertyType.number, "100"),
@@ -524,7 +525,6 @@ class _Factory:
             ]
         )
         ._set_propagate()
-        ._get_list_attribute("selected", PropertyType.number)
         ._set_table_pagesize_options(),
         "text": lambda gui, control_type, attrs: _Builder(
             gui=gui,

+ 1 - 1
taipy/gui/viselements.json

@@ -689,7 +689,7 @@
                     },
                     {
                         "name": "selected",
-                        "type": "list[int]|str",
+                        "type": "dynamic(list[int]|str)",
                         "doc": "The list of the indices of the rows to be displayed as selected."
                     },
                     {