---
order: 1
---
# 输入组件默认值、绑定字段与计算公式之间的区别

输入组件可以设置计算公式、默认值，也可以设置绑定字段，这些设置都可以影响输入项的值，当同时设置时优先级是：计算公式 > 绑定字段 > 默认值。

## 默认值{#defvalue}

1. 如果设置了计算公式并且计算条件为空或返回true，那么会忽略默认值设置。
2. 如果设置了绑定字段且当前页面是从数据库加载数据（不是新建数据模式打开页面，没有传递`:newData=true`），那么也不会计算默认值。
3. 如果没有计算公式也没有绑定字段，或者设置了绑定字段但是页面是以新建数据的模式打开的（传递了`:newData=true`），那么会计算默认值。

## 绑定字段{#bind-field}

绑定字段往往用于提交数据（见[提交表单交互](../design/action/submit-data.md)），当页面不是以“新数据”模式打开（没有传递`:newData=true`），系统会将绑定字段的数据装载到输入组件中。

当绑定字段的值加载到输入组件后，如果字段所在的数据集发生了变化（比如过滤条件变了），那么输入组件的值不会随之改变，除非使用[重置数据交互](../design/action/reset-data.md)。

如果同时设置了计算公式（且计算条件为空或返回true），那么计算公式的值会覆盖绑定字段的值。

## 计算公式{#calc-exp}

计算公式用于在页面上根据需要动态的修改一个输入组件的值，当计算公式引用的数据发生变化后计算公式会自动重新计算。

计算公式可以搭配计算条件一起使用，当计算条件为空或返回true时计算公式才会生效。

:::warning
在计算公式中使用[RAND](../../../exp/func/math/RAND.md)或[UUID](../../../exp/func/string/UUID.md)等函数时需要注意，页面每次加载时计算结果都不同，通常应该考虑使用[默认值属性](#defvalue)。
:::
