
# 输入框
输入框是基础输入组件，输入框中的内容可以通过鼠标或键盘输入。输入框一般在有需要输入内容、提供组合型条件查询或有其他资料需要提交时使用。
在标准页面设计界面，从"基本组件 \> 表单"中，拖拽"输入框"组件至页面工作区域，如[图1]。
图1输入框   
![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001932885652.png "点击放大")
#### 查看组件帮助
将鼠标放在对应的组件上，单击![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001933045052.png)，可查看组件说明。
图2查看组件说明   
![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960284177.png)
#### 属性
- 数据绑定：通过建立不同类型的视图模型，将各种数据源和组件的返回值或者属性值进行关联，实现动态数据效果。
  - 值绑定：设置组件绑定的数据模型，数据模型一般有以下几种。更多介绍，请参见[值绑定](https://support.huaweicloud.com/usermanual-astrozero/astrozero_05_0048.html#astrozero_05_0048__section1786195310514)。
    - 自定义：由用户自定义的前端模型，可以在模型树上快速创建自定义字段。
    
    - 对象：由后台对象模型映射创建，支持选择字段。
    
    - 服务：由后台服务的出入参数模型创建，分别生成inputParam和outputParam节点。
    
    - 事件：由后台事件的字段映射创建，并且支持websocket刷新模型数据。
     
  
  - 属性值绑定，用于对该组件所有属性的动态设置。当某一属性被动态绑定时，以绑定值为准。更多介绍，请参见[属性绑定](https://support.huaweicloud.com/usermanual-astrozero/astrozero_05_0048.html#astrozero_05_0048__section1923073313920)。
   
- 基本属性：基本属性通过数据绑定后，在运行时以数据绑定的值为准。
  - 文本类型：设置文本类型，如输入框、密码。
  
  - 标签：输入框在界面的展示标签名，必须是输入框存在于某个表单组件中，该标签设置才生效。
  
  - 占位符：设置占位符，可辅助元素对齐，让页面更整齐。
  
  - 可清空：是否可清空输入值。
  
  - 默认值：输入框默认值。
  
  - 图标：输入框图标，仅在输入框类型下有效。
  
  - 图标位置：输入框中的图标位置。
  
  - 最大字符长度：输入框取值最大字符长度。
  
  - 最大宽度：输入框最大的宽度。
   
- 表单校验：当组件在表单中时，可对组件进行一些校验配置。当且仅当组件在表单中时，校验才生效。
  - 必填：开启必填时，该输入框为必填字段。输入框界面展示会有![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960284185.png)提示必填，此校验功能必须是输入框存在于某个表单组件中。
  
  - 必填错误信息：当必填输入框没有进行输入取值时，界面提示的报错信息。
  
  - 正则表达式：当输入框字段类型为"Text"或"TextArea"类型，支持进行正则表达式校验。
  
  - 错误信息：正则表达式校验失败时，提示的错误信息。
  
  - 自定义校验：是否进行自定义校验，打开后需要设置校验JS代码。当输入框在表单组件中，该设置才会生效。
  
  - 校验方法：输入JS代码定义校验规则，代码的返回值必须为布尔类型或者对象类型。
    - 布尔类型：返回为"false"表示未通过校验，即校验失败，若需要配置错误提示信息，则直接设置界面上"校验错误信息"参数；返回值为"true"，表示通过校验。
    
    - 对象类型：返回为"{result:false, message:'*对应错误提示信息*'}"，表示未通过校验，message值为错误提示信息；返回为"{result:true}"，表示校验通过，一般不用带提示信息。
    
    
    示例如下：
    - 示例1：校验输入文字内容长度不能超过10个字符。
      ```
      return value.length <= 10
      ```
      其中，"value"变量为系统已定义好的，表示输入内容变量，可直接使用该变量。
      
    
    - 示例2：校验输入文字内容只能输入大写的A-Z，或者小写的a-z。
      返回值类型为布尔：
      ```
      var reg = new RegExp("^[A-Za-z]+$");
      return reg.test(value);
      ```
      返回值类型为对象：
      ```
      var reg = new RegExp("^[A-Za-z]+$");
      if (reg.test(value)) {
       return true;
      } else {
        return {result: false, message:'输入内容不符合规则，只能输入大写的A-Z，或者小写的a-z'};
      }
      ```
      
    
    - 示例3：校验输入文字内容是否是邮箱，该示例可能不覆盖全部邮箱类型场景，仅举例使用。示例JS代码如下：
      ```
      var reg = new RegExp("^[a-z0-9A-Z]+[- | a-z0-9A-Z . _]+@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-z]{2,}$");
      return reg.test(value);
      ```
      
     
  
  - 校验错误信息：当"自定义校验"中，JS代码返回值类型为布尔类型时，会取该参数的值为错误提示信息。当"自定义校验"中JS代码返回值类型为对象类型时，直接取返回值中的message值为错误提示信息。
   
- 公共
  - 控件名称：当前组件的名称。
  
  - 隐藏：是否隐藏该组件，此方式为静态配置该组件的隐藏。还可以将该组件属性值"隐藏"配置为布尔类型模型字段，在自定义JS代码中来控制模型字段取值，从而设置该组件是否隐藏，这种动态设置优先级是最高的。
  
  - 禁用：是否禁用该组件。
  
  - 只读：值是否只读。
   
- 样式 \> 高级设置
  - 样式类：当前组件使用的CSS样式类名，可在CSS代码中进行引用。
  
  - 样式透传：启用后，可以将设置好的样式透传给组件的子节点。
  
  - 预设样式：预置的组件样式。
   
 
#### 事件
在事件中，显示了组件暴露出来的一些常用事件，供用户实现，来扩展组件的交互。整个页面有加载（on-load）事件，该事件在页面渲染完成后执行，可进行数据初始化操作。更多关于事件的介绍，请参见[主要事件说明](https://support.huaweicloud.com/usermanual-astrozero/astrozero_05_0089.html)。
#### 库
在库中，可配置页面需要的依赖库，扩展页面功能。库分为系统预置库和自定义库两种，更多介绍请参见[如何引入第三方库](https://support.huaweicloud.com/usermanual-astrozero/astrozero_05_0058.html)。
