# 常用基础控件 [TOC] > **配置方式:在`“页面属性”`->`“控件类型”`中选择对应的控件类型** ![](https://img.kancloud.cn/9a/a8/9aa8da1da6ac1caab7bc5b73e12c558b_1082x525.png) ## 1. 下拉框 | 多选框 | 单选框 | 下拉多选 | 下拉搜索 > 字典用法:表单字段,通过配置系统字典或者表字典,实现下拉、Checkbox、Radio等效果。 > 支持模型: 系统字典 和表字典(通过数据库表的配置)——不支持popup > 注:下拉搜索控件只支持表字典(不支持popup) ![](https://img.kancloud.cn/a7/86/a786b4a27b1cf44c8fd14257b1cf4d7a_1430x525.png) ### 1.1 数据字典 配置字典code(对应系统字典表的 字典编码)如:bpm_status ![](https://img.kancloud.cn/47/33/47335abff9b4848ee28a3a66fab7086a_1520x530.png) 字段code对应: 系统管理 -> 数据字典 ![输入图片说明](https://static.oschina.net/uploads/img/201906/14183929_dBT5.png "在这里输入图片标题") 演示: ![输入图片说明](https://static.oschina.net/uploads/img/201906/14184017_qPRS.png "在这里输入图片标题") ### 1.2 表字典 ![](https://img.kancloud.cn/ae/2b/ae2b781e44c6d7a93056fdcdbc3e2ba7_1498x550.png) 效果:实现通过表里面取数,下拉展示 ![](https://img.kancloud.cn/16/63/16637359fc482171831d4c3443e73bc3_993x400.png) ### 1.3 条件过滤 **支持自定义sql 增加查询条件 过滤表数据** 配置方式,如图所示在字典table上接表名后配置where[**where 一定要小写**] 条件: ![](https://img.kancloud.cn/d4/ca/d4cacb9359ffd7d58a7f9958fce0decb_1594x458.png) ## 2. 日期控件 | 时间控件 > 日期控件分为年月日和年月日时分秒控件 > `“年月日”`的数据库类型对应`“date”`; `“年月日 时分秒”`的数据库类型对应`“datetime”` `“时间”`的数据库类型对应`“String”` ![](https://img.kancloud.cn/cc/53/cc539054b5cd93cf581337d67ef9e03b_1220x299.png) ## 3. Popup控件 _popup选择框的使用依赖于Online报表_ (1)创建一个Online报表来提供弹出数据列表的数据集,如`“report_user”` ![](https://img.kancloud.cn/eb/d9/ebd9ee3ab76cf95f24dc1028d5778dc6_1702x409.png) (2)选择控件类型为popup弹出框 (3)字典Table、字典Code、字典Text项填写对应的Online报表信息 ``` 字典Table: 填写Online报表编码,如:“report_user” 字典Code: 填写Online报表中的字段名(多个逗号隔开)如:“username,realname” 字典Text: 填写表单中字段名 (多个逗号隔开)如:“popup,popback” ``` ![](https://img.kancloud.cn/e2/49/e24936cca05dc06a7c053259c35c7eec_1470x571.png) (4)展示效果 ![](https://img.kancloud.cn/6e/b6/6eb6f49fda4e04b60f1bc661a794e4fb_1456x853.png) ## 4. 用户选择 | 部门选择 ### 4.1 配置 页面属性配置控件类型 选择`“用户选择”`或`“部门选择”` ### 4.2 高级用法-动态存储/展示字段 - 使用场景 部门组件默认存储部门ID,展示部门名称, 用户组件默认存储用户账号,展示用户名称,现支持动态配置,指定存储/展示的字段名。 - 配置 页面属性 -> 更多配置 点击高级配置,可直接选择是否多选、存储字段、展示字段 ![](https://img.kancloud.cn/4f/85/4f8543f1df0f5035e115856cc3d929f6_1650x595.png) - 备注:上述字段为部门/用户实体的字段名或数据库字段名都可以,可以只配置一个,配置的存储字段需保证数据唯一性。 **目前只支持单表** ## 5. 分类字典树 > 1.分类字典树控件是基于 系统表`“分类字典”`设计的,为online提供一个树控件,用于选择分类字典的数据。 2.分类字典的数据维护见菜单【系统管理】-->【分类字典】 ### 5.1 配置方法一 > 只保存ID,列表及表单回显数据需要系统翻译,适用于小数据量,可保证当前表数据及分类字典表数据一致。 - online表单配置: ![](https://img.kancloud.cn/ba/93/ba93d4056c09d363c6dfbd3ca397fea7_1358x252.png) *此方案需要配置字典code的值,该值实际是分类字典的**类型编码**,此处配置成B01即表示当前这个树控件,只加载B01节点以下的数据* - 演示: ![](https://img.kancloud.cn/49/95/4995fb39a60dd6e867cb70d7ffbe0ef2_987x763.png) ### 5.2 配置方法二 > 保存ID和text ,列表及表单展示text,适用于大数据量,但是若分类字典表数据text被修改,当前表则难以保证数据一致性 - 页面属性-配置控件类型 ![](https://img.kancloud.cn/b1/15/b115d94638a80c344d3f448aa35aedcf_1346x284.png) - 校验字段-配置字典 ![](https://img.kancloud.cn/23/30/23304e5b2098ac06400aeb88a1e79c52_1502x239.png) 备注: 1、数据库属性配置两个字段,字典code存储树id,字典Text存储树text 2、页面属性配置成分类字典树,列表表单显示,text为文本框,列表表单不显示 3、字典code配置成分类字典的**类型编码**,同一;字典text配置存储树text字段的名称 - 演示, ![](https://img.kancloud.cn/a3/5a/a35af1032d0960e0042a3b305b923794_1001x666.png) ## 6. 自定义树类型 * 1.页面属性-配置控件类型 ![](https://img.kancloud.cn/04/68/04687ad4dc6693cd59af19c3fb27727f_1085x217.png) * 2.校验字段-配置字典 ![](https://img.kancloud.cn/ee/9b/ee9bcc54ff2a9a7067afe23709cf076b_1537x196.png) 备注: 1、字典table 填写树控件对应的表名 { 例如:`sys_category` } 2、字典code填写树控件根节点的父ID的值,填`“0”`则为全部显示 3、字典text填写4个表字段的名称,以逗号隔开,依次是:**ID列,父ID列,显示列,是否有子节点列** { 例如:`id,pid,name,has_child`} > 字段顺序解释说明: > a. ID列和PID列用于记录数据的父子关系,且ID列是该树控件最终保存到数据库的值 > b. 显示列表示树控件展示的数据, > c. 是否有子节点列是树形表需要的特例列,详细看 online表单树形表单开发 ,该列为字符串类型系统默认1为是 0为否,不支持其他数据格式。 * 3.演示 ![](https://img.kancloud.cn/a3/5a/a35af1032d0960e0042a3b305b923794_1001x666.png) ## 7. 下拉联动组件 > 例如:省市区的三级联动下拉选择框 ### 7.1 表关系 **首先**,联动组件的数据来源需要有相应的层级关系 ,如 :新建一张表`sys_test_link`,数据如下: | id | pid | name | | --- | --- | --- | | 1 | | 中国 | | 2 | 1 | 山东省 | | 3 | 2 | 济南市 | | 4 | 3 | 历城区 | | 5 | 3 | 长青区 | | 6 | 2 | 青岛市 | | 7 | 1 | 安徽省 | | 8 | 7 | 合肥市 | | 9 | 8 | 包河区 | | 10 | 8 | 庐阳区 | | 11 | 7 | 黄山市 | | ... | | | ### 7.2 online配置 新增字段— province,city,area 省-province字段上配置联动组件,其他配置文本框即可 ![](https://img.kancloud.cn/d6/00/d60070a32b82cacaa9dc722875bc4ba1_1191x381.png) 省-province字段的校验字段 ----> 字典table --->配置json,格式如下: ``` { table: "sys_test_link", txt: "name", key: "id", linkField: "city,area", idField: "id", pidField: "pid", condition:"pid = '1'" } ``` ![](https://img.kancloud.cn/7b/a1/7ba1fb6a3e6c80573fbc4e51ad799c55_1238x332.png) 配置描述: | 名称 | 描述 | | --- | --- | | table | 数据库表名 | | txt | 控件显示的值 | | key | 控件需要存储的值 | | linkField | 级联组件的其他字段名称,上例配置了市,区字段名 | | idField | 数据的标识 | | pidField | 上下级关系的表示字段 | | condition | 联动组件 第一个下拉框的数据查询条件 | 测试效果: ![](https://img.kancloud.cn/9a/93/9a93a1ac529b2a080648a0cab62a78bb_940x278.png) ## 8. 开关控件 > 用于场景:只有两个选项且只能选一个 默认选项值: Y/N (即数据库字段存储为Y或N) 配置: ![](https://img.kancloud.cn/f7/3b/f73b33a1831b9a0f4532e6d79b650280_1601x239.png) 配置注意: - 控件类型选择:开关 - 扩展参数:如果不想使用默认的选项值(Y/N)保存到数据库,支持自定义,配置一个数组即可, 例如:配置数组 `[1,2]` 则第一个参数(1)对应是,第二个参数(2) 对应否 那么保存在数据库的字段值为1/2 列表显示: ![](https://img.kancloud.cn/73/6e/736ef7ffcadb17541d1984a2b1d1bd28_1441x162.png) 单表/主表/一对一子表 表单效果展示: ![](https://img.kancloud.cn/6e/11/6e112ea3a9dfe115a90fb2242f303a93_866x349.png) 一对多子表 表单效果展示:(勾选即Y) ![](https://img.kancloud.cn/b3/40/b3402633822c20c948e555c3d6f21681_364x258.png)