我尝试使用JSON格式化列表中的列,我想摆脱" mailto:"从该字段中,在字段值前添加一个小邮件图标。
我得到了JSON添加邮件图标(最后,在字段值之后 - 第一次尝试不错),但没有运气去除" mailto:"来自现场,有什么建议吗?
{
"debugMode": true,
"elmType": "div",
"children": [
{
"elmType": "div",
"style": {
"padding-right": "8px"
},
"txtContent": "@currentField"
},
{
"elmType": "a",
"attributes": {
"iconName": "Mail",
"class": "sp-field-quickActions",
"href": "@currentField"
}
}
]
}
答案 0 :(得分:0)
如果您使用标准的新建/编辑表单,则超链接字段会询问URL和显示文本。如果您的显示文本是此人的名字(或href以外的任何其他字符串),则可以这样简单地更新txtContent:
"txtContent": "@currentField.desc"
如果要过渡,则可能要使用
"txtContent": "=if(@currentField.desc!='',@currentField.desc,@currentField)"
一个完整的解决方案,包括您希望将图标放置在该值可能会显示之前
{
"$schema": "https://developer.microsoft.com/json-schemas/sp/column-formatting.schema.json",
"elmType": "div",
"children": [
{
"elmType": "a",
"attributes": {
"iconName": "Mail",
"class": "sp-field-quickActions",
"href": "@currentField"
},
"style": {
"display": "=if(@currentField!='', 'block','none !important')",
"padding-right": "8px"
}
},
{
"elmType": "div",
"txtContent": "=if(@currentField.desc!='',@currentField.desc,@currentField)"
}
]
}
因为您没有说该字段是否为必填字段,所以我添加了一种显示样式,以免在该字段为空的情况下显示图标