一、要素图层中有些字段,我们并不想直接显示,比如我们一般用0表示未完成,1表示完成。在popuptemplate弹出框中,字段自定义显示挺有用。下面演示这种用法。
二、代码演示。
let template = {
title: '违建信息',
content: [{
type: 'fields',
fieldInfos: [
{
fieldName: 'ZJMC',
label: '所属镇'
},
{
fieldName: 'TBBM',
label: '图斑编号'
},
{
fieldName: 'QQZT',
label: '建筑状态'
},
{
fieldName: 'XZCMC',
label: '所属村'
},
{
fieldName: 'ZDMJ',
label: '面积',
format: {
places: 2,
digitSeparator: true
}
},
{
fieldName: 'expression/illigalExpression'
}
]
}],
expressionInfos: [{
name: "illigalExpression",
title: "是否核查",
expression: `
return Decode($feature.STATE,1,"已核查",0,"未核查","更新状态请刷新")
`
}],
actions: [illigalMessage, illigalWordMessage, historyMessage]
}
主要看
expressionInfos: [{
name: "illigalExpression",
title: "是否核查",
expression: `
return Decode($feature.STATE,1,"已核查",0,"未核查","更新状态请刷新")
`
}]
这个就是显示规则。
其中是一个个对象,也就是说,它可以支持多个字段自定义显示。
其中expression才是最重要的,官网当中,说他支持一些语句,但是他不是我所需要的,也就没去研究,需要的童鞋自行去翻官方文档。
要显示什么内容,就reture出去,expression就是写了一些语句。注意,是不支持if else的,但是可以用sql语句,这点就非常方便。我们知道,oracle当中有一种语句为decode,效果就是if else了 。本文案例为feture字段state为1,显示已核查 反之。获取属性值,要用$feature。使用这个字段的时候,配置fieldName: 'expression/illigalExpression'就行