SharePoint列表倒计时列JSON格式设置求助:按剩余天数标色
你的问题核心是之前试图通过匹配文本字符串来判断样式,但@currentField是日期类型,直接计算剩余天数的数值才是正确思路。以下是实现需求的JSON代码:
{ "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json", "elmType": "div", "txtContent": "=floor((Number(@currentField) - Number(@now))/(1000*60*60*24)) + ' day(s) remaining'", "style": { "padding": "8px", "border-radius": "4px", "color": "=if(floor((Number(@currentField)-Number(@now))/(1000*60*60*24)) <=1, '#ffffff', if(floor((Number(@currentField)-Number(@now))/(1000*60*60*24)) <=3, '#000000', '#ffffff'))", "background-color": "=if(floor((Number(@currentField)-Number(@now))/(1000*60*60*24)) <=1, '#ff0000', if(floor((Number(@currentField)-Number(@now))/(1000*60*60*24)) <=3, '#ffff00', '#008000'))" } }
代码说明:
- 直接通过
Number(@currentField) - Number(@now)计算日期差值,再转换成天数(除以1000*60*60*24),用floor取整得到剩余天数。 - 样式部分通过嵌套
if判断:- 剩余天数≤1:红色背景+白色文本
- 剩余天数≤3(即2-3天):黄色背景+黑色文本
- 剩余天数≥4(即4-5天及以上):绿色背景+白色文本
- 额外添加内边距和圆角,优化显示美观度。
使用时,直接将这段代码复制到你的倒计时列的「格式化列」设置中即可。
内容的提问来源于stack exchange,提问作者Ray Spiteri
相关产品推荐
相关产品推荐

