Sugar BI中支持 10+种过滤组件,有些过滤组件是支持绑定数据的,例如单选,就可以给它绑定单选项的数据。下面分别列举每种过滤组件在使用 API 方式绑定自身数据时,所对应的数据 API 返回的 JSON 格式要求:
单选列表、下拉单选
示例 API:/openapi/demo/condition?type=select
如果开启了基础选项卡中的搜索时重新拉取数据
,那么会传递一个 searchStr 参数。
POST 给 API 的参数:
{
"searchStr": 用户当前搜索的字符串;
}
response:
{
"status": 0, // 0表示成功,非0表示失败
"msg": "", // 失败时的提示信息
"data": [
{
"label": "name1", // 展示使用的字段
"value": "value1" // 具体的取值
},
{
"label": "name1", // 展示使用的字段
"value": "value1" // 具体的取值
},
...
]
}
多选列表、下拉多选
和上面单选列表的 API 数据格式要求完全一致。
树形选择
示例 API:/openapi/demo/condition?type=tree
response:
{
"status": 0, // 0表示成功,非0表示失败
"msg": "", // 失败时的提示信息
"data": [
{
"name": "name1", // 展示的节点名称
"value": "value1" // 具体的取值
"children": [
{
"name": "name1-1",
"value": "value1-1",
"children": [...]
},
{
"name": "name1-2",
"value": "value1-2",
}
]
},
{
"name": "name2", // 展示使用的字段
"value": "value2" // 具体的取值
},
...
]
}
日期时间
日期、时间、日期范围等过滤组件开启动态基准日期后,API 拉取的数据要求
response:
{
"status": 0, // 0表示成功,非0表示失败
"msg": "", // 失败时的提示信息
"data":{
"dateRange":["2020-01-01","2021-12-12"]
}
}
输入框
输入框本身不需要绑定数据,但是输入框支持 suggestion(即输入时的联想提示词),这个提示词是动态的,可以通过 API 的方式来绑定 suggestion 的数据。
示例 API:/openapi/demo/condition?type=suggestion
POST 给 API 的参数:
{
"searchStr": 用户当前输入的字符串;
}
response:
{
"status": 0, // 0表示成功,非0表示失败
"msg": "", // 失败时的提示信息
"data": [ // 输入了search内容后返回的提示信息列表
"数据1",
"数据",
...
]
}
多重逻辑
多重逻辑也可以绑定数据,它可以绑定两种数据:
一种是直接让用户选择的数据(单选、多选之类),这种和上面单选列表的 API 数据格式要求完全一致。
另外一种是和输入框的 suggestion 一样,详见上面的输入框的 suggestion 数据绑定。