arcgis api for js 自定义弹出信息提示框

本文介绍了如何在要素图层中通过expressionInfos设置自定义字段显示规则,如使用decode函数实现类似ifelse的功能,以0和1表示完成和未完成状态。通过`expression`字段控制显示内容,适用于Oracle的decode语句,便于地图应用中状态指示。
摘要由CSDN通过智能技术生成

一、要素图层中有些字段,我们并不想直接显示,比如我们一般用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'就行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值