SPFX项目中如何为列表部署多个除默认视图外的额外视图?
SPFX 自定义列表多视图部署故障解决方案
必改配置项
你出现的报错90%是因为基础配置属性冲突,先检查以下几项:
- BaseViewID 规则:每个视图的
BaseViewID不能重复,且不能使用1/2/3这类SharePoint预留的内置视图ID,自定义视图建议从100开始编号,避免和系统内置逻辑冲突 - Url 必须唯一:每个视图的
Url属性不能重复,不能所有视图都指向AllItems.aspx,比如第二个视图可以设置为CustomView.aspx,保持文件名唯一即可 - 默认视图唯一:所有视图里只能有一个的
DefaultView属性为TRUE,其余自定义视图全部设为FALSE
正确配置示例
原有默认视图保持不变,新增视图参考如下写法:
<View BaseViewID="100" Type="HTML" WebPartZoneID="Main" DisplayName="自定义视图" DefaultView="FALSE" MobileView="FALSE" MobileDefaultView="FALSE" SetupPath="pages\viewpage.aspx" ImageUrl="/_layouts/images/generic.png" Url="CustomView.aspx"> <Toolbar Type="Standard" /> <XslLink Default="TRUE">main.xsl</XslLink> <JSLink>clienttemplates.js</JSLink> <RowLimit Paged="TRUE">30</RowLimit> <ViewFields> <FieldRef Name="Field1"/> <FieldRef Name="Field2"/> <FieldRef Name="Modified"/> </ViewFields> <Query> <OrderBy> <FieldRef Name="Modified" Ascending="FALSE" /> </OrderBy> </Query> </View>
部署注意事项
- 修改配置前先删除站点上已部署的故障列表,避免旧的错误配置残留影响新部署
- 确保所有View节点都嵌套在Schema.xml的
<Views>父节点下,不要出现层级错误 - 检查视图中引用的所有
FieldRef对应的字段都已经在列表字段定义中存在,不存在的字段会触发视图加载报错 - 不要同时在Schema.xml和站点部署脚本(Site Script)中重复定义视图,两侧配置冲突也会导致列表故障
内容的提问来源于stack exchange,提问作者Vinicius Carvalho
相关产品推荐
相关产品推荐

