文本字段
# 变更记录
| 产品版本 | 更新内容 | 更新日期 |
| --- | --- | --- |
| V7.0.1 | 完善了密码文本字段的功能,支持点击小眼睛查看明文,满足用户使用场景 | 2024-10-24 |
# 1 功能介绍
文本字段在用户需要录入数据时使用,通过鼠标或键盘输入内容,是最基础的表单域包装。结合 *字段布局面板 *控件使用,布局体验最佳。
# 2 控件对象
`kd.bos.form.field.TextEdit`
# 3 视觉展示
![image.webp](/download/0100eef5023bc60f45b68d217f9838f5ddbf.webp)
# 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 final static String KEY_ENTRYENTITY = "entryentity"; */** 单据头文本字段 */* private final static String KEY_HEADTEXT = "headtext"; */** 单据体文本字段 */* private final static String KEY_ENTRYTEXT = "entrytext"; */** 子单据体文本字段 */* private final static String KEY_SUBENTRYTEXT = "subentrytext"; */*** * * 演示如何读取、设置字段值* * * @param entryRow 单据体行号* * * @param subEntryRow 子单据体行号* * */* private void demoFieldValue(int entryRow, int subEntryRow){ *// 读取单据头字段值* String headtext = (String) this.getModel().getValue(KEY_HEADTEXT); *// 读取单据体字段值* String entrytext = (String) this.getModel().getValue(KEY_ENTRYTEXT, entryRow); *// 读取子单据体字段值,需要先设置父单据体行号,不然会取错位置* this.getModel().setEntryCurrentRowIndex(KEY_ENTRYENTITY, entryRow); String subentrytext = (String) this.getModel().getValue(KEY_SUBENTRYTEXT, subEntryRow); *// 设置单据头字段值* this.getModel().setValue(KEY_HEADTEXT, headtext); *// 设置单据体字段值* this.getModel().setValue(KEY_ENTRYTEXT, entrytext, entryRow); *// 设置子单据体字段值,需先设置父单据体行号* this.getModel().setEntryCurrentRowIndex(KEY_ENTRYENTITY, entryRow); this.getModel().setValue(KEY_SUBENTRYTEXT, subentrytext, subEntryRow); } } ``` ## 5.3 插件事件 文本字段,继承了字段标准的插件事件: | 事件 | 触发时机 | | --- | --- | | propertyChanged | 修改字段值之后触发;
例外:界面数据初始时,不触发此事件,即在afterCreateNewData事件中,修改字段值,不会触发此事件 | 此外,文本字段支持带按钮的编辑风格,新增加点击事件: | 事件 | 触发时机 | | --- | --- | | [beforeClick](https://vip.kingdee.com/article/228984722725409536) | 用户点击文本字段的按钮时,触发此事件 | | [click](https://vip.kingdee.com/article/228985226008129024) | 用户点击文本字段的按钮时,触发此事件 |
通常由前端控件触发此方法 | | 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 final static String KEY_ENTRYENTITY = "entryentity"; */** 单据头文本字段 */* private final static String KEY_HEADTEXT = "headtext"; */** 单据体文本字段 */* private final static String KEY_ENTRYTEXT = "entrytext"; */** 子单据体文本字段 */* private final static String KEY_SUBENTRYTEXT = "subentrytext"; */*** * * 演示如何读取、设置字段值* * * @param entryRow 单据体行号* * * @param subEntryRow 子单据体行号* * */* private void demoFieldValue(int entryRow, int subEntryRow){ *// 读取单据头字段值* String headtext = (String) this.getModel().getValue(KEY_HEADTEXT); *// 读取单据体字段值* String entrytext = (String) this.getModel().getValue(KEY_ENTRYTEXT, entryRow); *// 读取子单据体字段值,需要先设置父单据体行号,不然会取错位置* this.getModel().setEntryCurrentRowIndex(KEY_ENTRYENTITY, entryRow); String subentrytext = (String) this.getModel().getValue(KEY_SUBENTRYTEXT, subEntryRow); *// 设置单据头字段值* this.getModel().setValue(KEY_HEADTEXT, headtext); *// 设置单据体字段值* this.getModel().setValue(KEY_ENTRYTEXT, entrytext, entryRow); *// 设置子单据体字段值,需先设置父单据体行号* this.getModel().setEntryCurrentRowIndex(KEY_ENTRYENTITY, entryRow); this.getModel().setValue(KEY_SUBENTRYTEXT, subentrytext, subEntryRow); } } ``` ## 5.3 插件事件 文本字段,继承了字段标准的插件事件: | 事件 | 触发时机 | | --- | --- | | propertyChanged | 修改字段值之后触发;
例外:界面数据初始时,不触发此事件,即在afterCreateNewData事件中,修改字段值,不会触发此事件 | 此外,文本字段支持带按钮的编辑风格,新增加点击事件: | 事件 | 触发时机 | | --- | --- | | [beforeClick](https://vip.kingdee.com/article/228984722725409536) | 用户点击文本字段的按钮时,触发此事件 | | [click](https://vip.kingdee.com/article/228985226008129024) | 用户点击文本字段的按钮时,触发此事件 |
文本字段
# 变更记录| 产品版本 | 更新内容 | 更新日期 || --- | --- | --- || V7.0.1 | 完善了密码文本字段的功能,支持点击小眼睛...
点击下载文档
本文2024-09-23 00:40:06发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-140959.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章