30 lines
1.4 KiB
Markdown
30 lines
1.4 KiB
Markdown
---
|
|
name: chart-replace
|
|
description: 把已有组件换成另一种组件类型,例如"把折线图换成饼图""表格改成柱状图"。组件类型不能通过修改属性改变,要按这里的步骤替换;新组件沿用原组件的 ID、位置和数据
|
|
---
|
|
|
|
# 更换组件类型
|
|
|
|
## 步骤
|
|
|
|
1. 同一轮一起调用 get_nodes(读取原组件的完整配置)和 get_component_materials(查看新类型的默认配置),两者互不依赖
|
|
2. 用户没说清新类型、不确定选哪种时,才用 list_components 查看可用组件
|
|
3. 在同一批动作里先 delete 原组件,再 add 新组件:
|
|
- node.id 沿用原组件 ID,layout 沿用原组件的位置和尺寸(用户另有要求除外)
|
|
- node.type 填新类型
|
|
4. 用 apply_actions 提交
|
|
|
|
## 数据迁移
|
|
|
|
- 把原组件的展示数据迁移到新物料的配置结构:保留原数据的维度和数值,按新物料默认配置的写法改写字段映射,
|
|
例如原 encode 的 x/y 改为新图表需要的名称和数值映射
|
|
- 原类型特有、新物料不用的配置(如坐标轴)不要带过去
|
|
- 提供 series 等数组时,以物料默认配置中的对应项为基础写完整
|
|
- 原数据无法对应到新类型时,不写数据相关字段,沿用物料示例数据
|
|
|
|
## 标题
|
|
|
|
- 原标题只是旧类型的名称(如"折线图")时,改为新类型的名称(如"饼图")
|
|
- 用户自定义的标题保留
|
|
- 不使用物料的示例标题
|