DashJsonGrid
类组件源码
comp = DashJsonGrid(
id: str | Mapping,
class_name: str,
style: Mapping,
data: Any,
default_expand_depth: int,
default_expand_key_tree: Mapping,
selected_path: list ,
highlight_selected: bool,
search_text: str,
theme: str | ThemeConfigs,
loading_state: LoadingState
)
DashJsonGrid
组件是对React项目react-json-grid/JSONGrid
的Dash移植版。
该组件针对复杂、无固定结构、可序列化的JSON数据,提供了网格视图可视化。
组件属性
- 描述
- 参数
名称 | 类型 | |
---|---|---|
id | str | Mapping[str, Any] | 组件ID。若设置为字典,则该ID用于模式匹配callback。 |
class_name | str | 组件的CSS类。使用 分隔不同的类。 |
style | Mapping[str, str] | 组件的CSS样式。这些样式用于覆盖组件容器的默认样式。 |
data | Any | 用来转换成网格视图的数据,其支持JSON序列化。 |
default_expand_depth | int | 无用户交互时,默认状态下网格展开的深度。 |
default_expand_key_tree | Mapping[Any, Any] | 需要展开的所有关键字,这些关键字定义成树状结构,且只能在data 是映射(Mapping )的情况下生效。 |
selected_path | list | 用来表示当前选中元素的路由,该路由是按顺序排列的下标组成的序列,其中最后一个值可以是一个只含单值的列表,以表示选中的是表格、或表格的列。 |
highlight_selected | bool | 用来控制是否允许被选中的区域高亮。禁用该值会阻止由用户选择发出的 callback。 |
search_text | str | 用来在JSON数据中搜索、高亮数据时,进行快速查询的关键字。 |
theme | str | ThemeConfigs | 主题名称、或包含主题详细信息的字典。 |
loading_state | LoadingState | Dash的加载状态字典。用户不应手动设置该值。 |
名称 | 类型 | 可交互 | 可设置 | 必选 | 默认值 |
---|---|---|---|---|---|
id | str | Mapping[str, Any] | undefined | |||
class_name | str | undefined | |||
style | Mapping[str, str] | undefined | |||
data | Any | ||||
default_expand_depth | int | 0 | |||
default_expand_key_tree | Mapping[Any, Any] | undefined | |||
selected_path | list | [] | |||
highlight_selected | bool | True | |||
search_text | str | undefined | |||
theme | str | ThemeConfigs | "default" | |||
loading_state | LoadingState | undefined |
- “可交互”指的是,用户交互可以改变该属性、并触发callback。
- “可设置”指的是,透过callback的
Output(...)
修改该值会产生实际效果。 - “必选”指的是,初始化组件时,必须向组件传递值,否则组件无法初始化。
方法
compare_routes
flag: bool = mixin.compare_routes(route_1: Route, route_2: Route)
比对两个不同的路由,其中Route
数据类型的参数即selected_path
的值。
交换输入参数的位置,比对结果不变。该方法可以检测route_1
和route_2
是否指向同一位置。
输入
参数 | 类型 | 必选 | |
---|---|---|---|
route_1 route_2 | Route | selected_path 触发callback时提供的路由。各元素为按照路由的先后次序排列的下标。末位元素可能是一个单元素序列,以用来表示被选中的区域是表格、或表格的列。 |
输出
参数 | 类型 | |
---|---|---|
flag | bool | 二值量。取True 时,表示route_1 和route_2 指向的位置相同。 |
get_data_by_route
data_selected: Any = mixin.get_data_by_route(data: Any, route: Route)
透过某路由来获得其对应的区域的部分数据。
输入
参数 | 类型 | 必选 | |
---|---|---|---|
data | Any | 用来进行路由的完整数据。 | |
route | Route | 用来定位data |