
# 变更记录
| 产品版本 | 更新内容 | 更新日期 |
| --- | --- | --- |
| V7.0.1 | 完善了密码文本字段的功能,支持点击小眼睛查看明文,满足用户使用场景 | 2024-10-24 |
# 1 功能介绍
文本字段在用户需要录入数据时使用,通过鼠标或键盘输入内容,是最基础的表单域包装。结合 *字段布局面板 *控件使用,布局体验最佳。
# 2 控件对象
`kd.bos.form.field.TextEdit`
# 3 视觉展示

# 4 属性说明
## 4.1 通用属性
>通用属性包含字段和控件的一些公有的属性,如宽高,帮助文本等等。请参考[通用属性](https://vip.kingdee.com/article/215559076720798976)
## 4.2 样式属性
>样式属性是每个控件在设计器右侧样式栏可以设置的属性,请参考[样式属性](https://vip.kingdee.com/article/252017936767406336)
## 4.3 业务属性
| 属性名 | 类型 | 默认值 | 说明 | 支持版本 |
| --- | --- | --- | --- | --- |
| 最大长度 | 整数 | 50 | 字段允许输入的最大长度范围,超出输入无效 | |
| 最小长度 | 整数 | 0 | 字段允许输入的最小长度范围 | |
| 编辑风格 | 下拉 | 文本框编辑 | 设置文本类型字段的编辑风格,showEditButton设置是否显示编辑按钮;eb设置文本输入框是否可编辑,详情见4.3.1 | |
| 按钮图标 | | | 在文本类型字段为按钮编辑风格时,可以设置按钮的图标 | |
| 为空提示信息 | 文本 | - | 当字段内容为空时,输入框内显示的信息 | |
| 锁定为空提示信息 | 文本 | - | 当字段内容为空且字段锁定时显示的信息,锁定为空信息会覆盖为空提示信息 | |
| 内容显示为密码 | 复选框 | false | 输入内容加密,显示为*号 | |
| 密码支持明文查看 | 复选框 | false | 仅在内容显示为密码时出现;属性开启后展示小眼睛,点击可切换密码明文/密文 | V7.0.1 |
| 加密存储 | 复选框 | false | 设置文本是否加密存储 | |
| 格式化 | 下拉 | 默认 | 设置文本是否要格式化,目前只支持银行卡模式格式化,选择银行卡格式后,输入只允许输入银行卡格式的文本 | |
### 4.3.1 编辑风格
**编辑风格**属性三个选项,默认是文本编辑。选择**按钮编辑**或者**按钮+文本编辑**后,出现按钮图标属性。可修改跟随按钮图标。 点击按钮,发送click事件到服务端插件,服务端通过监听click事件对文本进行处理。
*注意:*
*1.选择按钮编辑时,文本框不可输入,只能通过服务端返回值来修改。*
*2.选择按钮+文本编辑模式时,文本框可以输入,也可以通过服务端来修改*
# 5 文本接口介绍
## 5.1 控件编程模型
### 5.1.1 控件编程模型定义
文本字段的控件编程模型为TextEdit, 派生自字段基类的控件编程模型FieldEdit:
```java
package kd.bos.form.field;
public class TextEdit extends FieldEdit implements ISuportClick {
```
### 5.1.2 控件方法清单
TextEdit实现了ISuportClick接口,提供点击事件。
TextEdit重写、新增的方法:
| 方法 | 来源 | 说明 |
| --- | --- | --- |
| addButtonClickListener | 新增 | 监听按钮点击事件 |
| addClickListener | 新增 | 监听按钮点击事件 |
| addItemClickListener | 新增 | 监听按钮点击事件 |
| click | 新增 | 按钮点击;
通常由前端控件触发此方法 |
| getBindingValue | 重写 | |
## 5.2 数据模型
文本字段的属性对象类型为TextProp,派生自字段属性对象基类FieldProp,存储String类型字段值:
```java
package kd.bos.entity.property;
public class TextProp extends FieldProp {
```
TextProp重写、新增的方法:
| 方法 | 来源 | 说明 |
| --- | --- | --- |
| getDbType | 重写 | java.sql.Types. NVARCHAR |
| getFilterControlType | 重写 | “text” |
| getPropertyType | 重写 | String.class |
| getValueComparator | 重写 | 输出字段必录比较匿名类,比较逻辑:
如果字段值为null或空格,返回true;即未录入 |
注意:
* 通过数据模型的getValue方法,返回的字段值类型是String,值可能为null;
* 通过数据模型的setValue方法,必须传入String类型的值。
示例:如何分别获取、设置单据头、单据体、子单据体上的文本字段值。
```java
package kd.bos.plugin.sample.dynamicform.pcform.field.bizcase;
import kd.bos.form.plugin.AbstractFormPlugin;
*/***
* * 演示文本字段的使用*
* **
* * @author rd_johnnyding*
* **
* */*public class TextFieldSample extends AbstractFormPlugin {
*/** 单据体标识 */*
private fin