# 自动匹配
自动匹配就是把所有的二级的项在输出时提升为一级。
应用场景
:一般用于表单结构和接口字段不一致时匹配。比如:现需要保存一个页面信息,后台需要保存接口的字段只需要一级{pageName, fontSize, fontColor, backgroundImage, backgroundColor), 但对产品设计来说,可能需要把字体和背景按各自模块区分,页面结构才更加清晰。
字段(见行高亮
):
schema: {
autoMatch: true, // 设置autoMatch为true; autoMatch只有在要节点中有效
properties: {
name: {
label: "名称",
component: "el-input",
value: "天天"
}
// ... 其它项
}
}
# 实例
可打开调试面版
查看输出结果,formValue
全部都平级了
注意
- autoMatch设置只能在根节点中设置,其它块是无效的;
- 自动匹配只影响一级和二级的表单值输出,对根值rootData没有影响;
- 因为输出表单值时,二级要提升为一级,为了保持key的唯一性,编写schema时,一级和二级的所有的key(如:pageName、font、background、fontSize、backgroundImage)不能相同。
# 设值
在自动匹配中,因为key是唯一的,下面的值的设置效果是一样的:
如:
form.setValue({ // 正常结构
font: {
fontSize: 12
}
});
form.setValue({ // 简化结构
fontSize: 12
});
form.setValue("font.fontSize", 12); // 正常结构
form.setValue("fontSize", 12); // 简化结构
← 值转换 表单属性/事件/方法 →