
# 1 功能介绍
轮播容器控件可以在一定空间内循环展示多个信息;展示的内容不仅可以是图片,还可以是按钮、标签和矢量图标。
# 2 控件对象
`kd.bos.ext.form.control.MessageCarouselContainer`
# 3 视觉展示

# 4 属性说明
## 4.1 通用属性
>通用属性包含字段和控件的一些公有的属性,如宽高,帮助文本等等。请参考[通用属性](https://vip.kingdee.com/article/215559076720798976)
## 4.2 样式属性
>样式属性是每个控件在设计器右侧样式栏可以设置的属性,请参考[样式属性](https://vip.kingdee.com/article/252017936767406336)
## 4.3 业务属性
| 属性名 | 类型 | 默认值 | 说明 |
| --- | --- | --- | --- |
| 轮播数量 | 整数 | 1 | 在面板显示的子项数目 |
| 轮播方向 | 下拉 | 由下往上 | 轮播内容切换的方向,有四个值:由下往上、由上往下、由左往右、由右往左 |
| 速度 | 整数 | 1000 | 循环播放时项目之间的延迟时间,单位ms |
| 延迟 | 整数 | 1000 | 多久后轮播下一个子项,也就是轮播项目停留的时间,单位ms |
| 显示指示点 | 复选框 | false | 设置是否显示轮播的指示点 |
| 指示点位置 | 下拉 | 下 | 设置指示点位置 |
# 5 轮播容器示例介绍
## 5.1 控件方法
| 方法名 | 参数 | 说明 | |
| --- | --- | --- | --- |
| setData | List<Map<String, Object>> | 添加轮播数据 | |
```java
*/***
* * 向轮播容器中动态添加三条数据*
* * 包含 图片、标签控件。*
* */*
MessageCarouselContainer mcc = this.getControl("控件标识");
List<Map<String, Object>> data = new ArrayList<>();
*// 图片控件url数组*
String[] urls = new String[] {"url1", "url2", "url3"};
*// 标签控件显示内容数组*
String[] texts = new String[] {"t1", "t2", "t3"};
*// 放内容map*
Map<String, Object> propsMap = null;
*// 控件map,key为控件类型*
Map<String, Object> controlsMap = null;
for (int i = 0; i < urls.length; i++;) {
propsMap = new HashMap<>();
controlsMap = new HashMap<>();
propsMap.put("text", texts[i]);
controlsMap.put("labelap", propsMap);
propsMap = new HashMap<>();
propsMap.put("imageKey", urls[i]);
controlsMap.put("imageap", propsMap);
data.add(controlsMap);
}
mcc.setData(data);
```
轮播容器内支持`按钮`,`标签`,`图片`,`字体图标`几种控件,设置数据时,对应的数据标识如下:
| 控件类型 | 属性名 | 说明 |
| --- | --- | --- |
| 按钮 | text | 设置按钮文本 |
| 标签 | text | 设置标签文本 |
| 图片 | imageKey | 设置图片路径 |
| 字体图标 | fontClass | 设置图标名称 |
## 5.2 示例
1. 首先需要在设计器内设计一个轮播容器,例如我们创建一个拥有图片和文本的字段的组件,容器的字段标识为`lbtap`,内部的图片和文本的标识分别为`imageap2`及`labelap`

2. 通过setData添加数据
```java
*/***
* * 向轮播容器中动态添加三条数据*
* * 包含 图片、标签控件。*
* */*
MessageCarouselContainer mcc = this.getControl("控件标识"); //示例中我们的标识是`lbtap`
List<Map<String, Object>> data = new ArrayList<>();
*// 图片控件url数组*
// 假设我们在该路径下有对应的数据
String[] urls = new String[] {"/private/subscribe_pic1.webp", "/private/subscribe_pic2.webp", "/private/subscribe_pic3.webp"};
*// 标签控件显示内容数组*
String[] texts = ne