模态(modality)
此功能为 Schema 配置的专家模式中的内容。可以改变或者指定某些数据结果的显示方式、展现形态。
模态配置目前支持对于数据明细列表和实体详情页面进行配置。
数据明细列表
对于数据明细列表的展现形态的配置方法是,在 modality 字段中加入list字段。并设置 type。目前支持两个 type:list和HierarchyList
展现形态:list
默认的展现形态,可以不配置。
额外配置项:
对于事件类型的 Schema,可以配置指标卡片显示哪些指标。配置方式如下:
const schema = {
// ... 其他配置项
"modality": {
"list": {
"config": {
"summary": [
{ "operator": "$sum", "pred": "销售额" }, // 数据表里面的指标
{ "operator": "折扣率" }, // 指标编辑中配置的指标
],
},
},
},
};
其中,summary 的语法见 logicform 中的 PredItemType 的教程
指定排序:
const schema = {
// ... 其他配置项
"modality": {
"list": {
"config": {
"defaultLogicformComponents": {
"sort": {
"字段名": -1
}
}
},
},
},
};
-1代表倒序(从大到小),1代表正序(从小到大)
展现形态:HierarchyList
对于有层级结构的数据,明细表可以用树状结构去显示。要求 schema 中有 hierarchy 配置项。
配置方式:
const schema = {
// ... 其他配置项
modality: {
list: {
type: 'HierarchyList',
},
},
};
实体详情页面
展现形态:url
能够以 iframe 形式内嵌其他 url 在问答结果内。
配置方式:
const schema = {
// ... 其他配置项
"modality": {
"detail": {
"type": "url",
"showRefSchemas": false,
"config": {
"property": "类型为url的property名",
"inline": true,
},
},
},
};
如果 url 不适合以 iframe 形式内嵌,可以将 inline 改为 false,这样可以变成一个可点击跳转的卡片。
- showRefSchemas参数: boolean属性,是否在详情下面显示相关其他Schema的明细列表。
展现形态:列表
明细情况改为每行一个属性,而不是每行多个属性。
配置方式:
const schema = {
// ... 其他配置项
modality: {
detail: {
type: 'table'
},
},
};
分组显示
对于默认的卡片或者列表的展现形态来说,也可以控制字段分组显示,效果如下图所示:

配置方法如下:
const schema = {
// ... 其他配置项
modality: {
detail: {
type: 'xxx' // 这里type可以填card或者table,也可以不填。不填默认为card。
"config": {
"segments": [
{
"title": "基本信息",
"preds": [
"姓名",
"脱敏手机号",
"年龄",
"会员等级",
"出生年月"
]
},
{
"title": "更多信息",
"preds": [
"最近一次购买时间",
"服务门店",
"服务导购",
"当前积分",
"新老会员",
"注册门店",
"注册导购"
]
}
]
}
},
},
};