You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SharePoint Online列格式化:修复空值时必应地图链接404问题

解决SharePoint Online列格式化空值仍显示无效链接的问题

你的问题核心是:当PortOfOrigin列值为空时,原代码仍会渲染<a>标签(即使href为空),点击后会触发无效跳转。要解决这个问题,只需要通过条件判断控制链接元素的显示状态即可。

修改思路

在原代码的<a>标签样式中添加显示/隐藏的条件判断:当列值为空时,将链接元素设置为display: none,完全隐藏;有有效值时正常显示。

修改后的完整代码

{
   "$schema": "http://columnformatting.sharepointpnp.com/columnFormattingSchema.json",
   "elmType": "div",
   "style": {
       "border": "2px solid #666666",
       "width": "128px",
       "height": "64px"
   },
   "children": [
   {
       "elmType": "a",
       "attributes": {
       "href": "=if( @currentField != '', 'https://www.bing.com/maps?where='+@currentField,'')",
       "target": "_blank"
       },
       "style": {
           "height": "100%",
           "display": "=if(@currentField == '', 'none', 'block')"
       },
       "children": [
       {
           "elmType": "img",
           "attributes": {
           "src": "=if( @currentField != '', 'https://dev.virtualearth.net/REST/v1/Imagery/Map/Road/'+@currentField+'?mapSize=128,64'+'&key=XXXX' , '')"
           }
       }
       ]
   }
   ]
 }

关键修改点

  • 在<a>标签的style中新增了"display": "=if(@currentField == '', 'none', 'block')":
    • 当@currentField为空时,链接元素会被隐藏,不会生成可点击的区域
    • 当列有有效值时,链接正常显示,地图图片和跳转功能不受影响

如果需要连外层的边框也在空值时隐藏,可以给外层<div>的style也添加同样的display判断:

"style": {
    "border": "2px solid #666666",
    "width": "128px",
    "height": "64px",
    "display": "=if(@currentField == '', 'none', 'block')"
}

内容的提问来源于stack exchange,提问作者Mr. Dr. Sushi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 10:10:15