修改实例(实例覆盖)
把组件用到设计稿上之后,怎么改它的内容?哪些改动会被保留?哪些会被主组件的更新覆盖?本文带你搞清楚这件事。
直接修改实例
把一个组件拖到画布上之后,你得到的是这个组件的实例。如果想让它的文字、颜色、图标和默认的不一样,你不需要做任何特殊操作——直接选中实例里的图层修改就好。
比如你有一个按钮组件,默认显示"确定"。你想把它放到登录页上显示"登录"——直接双击文字改成"登录",就完成了。
这种"在实例上做的修改",我们称之为覆盖。
覆盖之后会发生什么
被覆盖的属性,会保留你的修改,不再和主组件同步。没被覆盖的属性,会继续跟随主组件更新。
举个例子:你的按钮组件原来是蓝色背景、文字"确定"。你在某个实例上把文字改成了"登录",但没改颜色。后来组件作者把按钮组件的背景色从蓝色改成了绿色——你这个实例会变成什么样?
- 文字仍然是 "登录"(你做了覆盖,保持你的修改)
- 背景变成 绿色(你没改过,跟随主组件更新)
这正是组件的好处:你可以放心地复用,关键样式始终保持一致;同时也能根据具体场景做局部调整。
哪些东西可以改
在实例上,你可以自由修改:
- 文字内容、字体样式
- 填充颜色、描边
- 阴影、模糊等效果
- 图层的显示和隐藏
- 嵌套在实例里的子组件,可以切换为别的组件
- 导出设置
简单说,外观相关的属性都可以改。
哪些东西改不了
为了保持组件结构不被破坏,下面这些事在实例内部做不到:
- 添加新图层到实例里
- 删除实例里的某个图层
- 改变实例内子图层的大小、位置、旋转角度
如果你确实需要做这些操作,有两个办法:
- 回到主组件去改——所有用到这个组件的实例都会跟着变
- 解绑实例——把实例变回普通容器,但就和主组件断开关系了
撤销覆盖(重置)
改完之后觉得还是原样好?想恢复到主组件的样子?用"重置"功能。

怎么操作
- 选中实例
- 右侧面板实例区域,点更多操作(
···) - 选择“重置所有”
重置只会恢复当前实例的覆盖,不会去碰它内部的嵌套实例。换句话说,重置的范围是"当前选中的这个实例和它的主组件之间的差异",不会层层往下穿透。
把实例切换成另一个组件,修改还会保留吗
很多时候你会遇到这种情况:用了 Icon A 组件,做了一些修改(比如改了颜色),后来发现 Icon B 更合适。如果切换之后修改全没了,就要重新改一遍——很烦。
Ardot 在这里帮你做了一些事:切换实例时,能继承的修改会自动带到新组件上。
什么时候能继承
继承靠的是"图层名 + 图层类型"的匹配。如果旧组件里有一个叫"icon"的形状被你改了颜色,新组件里也有一个叫"icon"的形状,那这个颜色修改就会被继承过去。
具体来说:
- 实例自身的覆盖(比如实例的可见性、整体尺寸)会直接保留
- 如果两个组件都只有一个文本图层,你改的文字会被自动带过去(不需要图层名一致)
- 其他图层按"同名 + 同类型"匹配——比如"icon"配"icon",但如果一个是文本一个是形状,就不会继承
类型不能跨:文本、嵌套实例、其他图层(容器、形状等)这三类之间互不继承。
嵌套实例还要看层级:实例里的实例,必须层级位置和名字都一样才能继承覆盖。
切换之后又切换回来呢
放心。如果你从组件 A 切到组件 B,再切回组件 A,之前在 A 上做的修改会自动恢复——Ardot 会帮你记住。
一个小细节:什么算"覆盖"
判断一个属性算不算覆盖,看的是这个实例和它直接对应的主组件有没有差异。
听起来像废话,但有一个容易混淆的点:
假设你做了一个按钮组件,里面嵌套了一个图标实例。在做按钮组件的时候,你把这个图标的颜色改成了绿色(这一步是在按钮组件内部完成的)。
后来别人用这个按钮组件,看到图标是绿色——这不是覆盖,因为按钮组件定义的就是绿色。
只有当别人在按钮的实例上再次改这个图标的颜色(比如改成红色),红色才算这个按钮实例的覆盖。
简单说:覆盖只看你和你的主组件之间的差异,不会再往里追溯。
