一、效果。
二、上代码
let illigalMessage = {
title: "***",
id: 'illigalMessage',
image: './src/assets/img/edit.png'
}
let illigalWordMessage = {
title: "***",
id: 'illigalWordMessage',
image: './src/assets/img/illigalWordMessage.png'
}
let historyMessage = {
title: "***",
id: 'history',
image: './src/assets/img/history.png'
}
// 以上为按钮编辑
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]
}
先编辑完按钮,然后加入popuptemplate的action中就行。
使用:
mainMap.view.popup.on("trigger-action",async function (event) {
if (event.action.id === "illigalMessage") {
// 业务代码
}
}
监听trigger-action变化就行。
三、如果想把原来的zoom to按钮给去除,只需要加上
featureLayer.popupTemplate.overwriteActions = true