如何修改SharePoint列表筛选器的默认"Empty"值且不破坏Hive文件夹
我来帮你解决这个问题——修改SharePoint列表筛选器的默认"Empty"文本,同时绝对不碰Hive系统文件夹(毕竟碰那个可是会出大问题的)。下面分现代和经典站点两种情况,给你说几个安全靠谱的方法:
一、现代SharePoint站点(Online/2019+)
方法1:SPFx客户端扩展(官方推荐)
这是微软认可的标准方案,完全不会改动任何系统文件:
- 开发一个SPFx客户端扩展(比如Field Customizer或者ListView Command Set),核心思路是拦截筛选器下拉菜单的渲染流程,把默认的"Empty"文本替换成你需要的内容(比如"请选择")。
- 这种方式符合SharePoint开发规范,可部署到单个站点或整个租户范围,后续平台更新也不会轻易失效,稳定性拉满。
方法2:PnP PowerShell修改Web部件配置
部分筛选器Web部件的默认文本存储在配置属性中,你可以试试用PnP PowerShell导出修改:
- 先连接到目标站点并导出Web部件配置:
Connect-PnPOnline -Url "https://yourtenant.sharepoint.com/sites/yoursite" Get-PnPPage -Identity "yourpage.aspx" | Get-PnPPageComponent -InstanceId "your-webpart-id" | Export-PnPPageComponent -Path "webpart-config.json" - 打开导出的JSON文件,查找类似
emptyOptionText的字段,把值改成你想要的文本。 - 重新导入修改后的配置:
Get-PnPPage -Identity "yourpage.aspx" | Set-PnPPageComponent -InstanceId "your-webpart-id" -Properties (Get-Content "webpart-config.json" -Raw | ConvertFrom-Json)
- 注意:不是所有筛选器Web部件都支持这个属性,得实际查看导出的配置里有没有相关字段。
方法3:临时方案——客户端脚本注入
如果只是临时需求,不想搞复杂开发,可以用脚本注入的方式快速替换:
- 把这段代码添加到现代页面的脚本编辑器Web部件(或通过SPFx注入):
window.addEventListener('load', function() { // 监听页面元素变化,确保筛选器渲染完成后再修改 const observer = new MutationObserver((mutations) => { mutations.forEach((mutation) => { if (mutation.addedNodes.length > 0) { const emptyOptions = document.querySelectorAll('select option:contains("Empty")'); emptyOptions.forEach(option => { option.textContent = "请选择"; // 替换为你的自定义文本 }); } }); }); observer.observe(document.body, { childList: true, subtree: true }); }); - 提醒:这种方法依赖页面DOM结构,SharePoint平台更新可能导致代码失效,仅适合临时场景。
二、经典SharePoint站点(2013/2016)
方法1:SharePoint Designer修改视图控件
这是经典站点最直接的安全方法:
- 打开SharePoint Designer,连接到目标站点。
- 找到目标列表,打开对应的视图页面(比如
AllItems.aspx)。 - 切换到代码视图,找到
<SharePoint:SPFilterDropdown>标签,修改它的EmptyOptionText属性:<SharePoint:SPFilterDropdown runat="server" EmptyOptionText="请选择" ... /> - 保存页面即可生效,这种修改仅影响当前视图页面,完全不会触碰Hive文件夹。
方法2:客户端脚本替换文本
和现代站点的临时方案类似,在经典页面添加内容编辑器Web部件,插入脚本替换文本:
$(document).ready(function() { // 替换筛选器下拉中的Empty选项 $("select.ms-filterDropdown option:contains('Empty')").text("请选择"); });
- 注意:如果页面没加载jQuery,改用原生JavaScript实现即可。
关键注意事项
- 绝对不要修改Hive文件夹(比如本地服务器的
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16路径),这会导致系统不稳定,且完全不被微软支持。 - 优先选择官方推荐的SPFx扩展或SharePoint Designer方法,保证修改的可维护性和兼容性。
- SharePoint Online环境下,所有修改都应在客户端或站点级别进行,切勿尝试访问服务器端系统文件。
内容的提问来源于stack exchange,提问作者iwamoto
相关产品推荐
相关产品推荐

