SPFx RelationshipDeleteBehavior 在 Web 部件配置期间不起作用

SPFx RelationshipDeleteBehavior not working during Web Part Provisioning

我正在尝试在 SP2019+ 的 SP Modern WebPart 中提供两个列表。第二个列表有一个引用第一个列表的查找列,但是当我尝试在第二个列表上设置“RelationshipDeleteBehavior”时,在将 WebPart 应用程序加载到站点时出现错误。

如果不包括“RelationshipDeleteBehavior”,整个程序包会正确部署,并且查找列会按预期工作。以下是我的“elements.xml”文件。

<Field
    ID="{UNIQUE GUID}"
    DisplayName="LookupColumn"
    Name="LookupColumn"
    StaticName="LookupColumn"
    Group="SPFx Test1"
    Type="Lookup"
    List="Lists/list1name"
    Indexed="TRUE"
    Mult="FALSE"
    Required="FALSE"
    EnforceUniqueValues="FALSE"
    ShowField="ID"
    UnlimitedLengthInDocumentLibrary="FALSE"
    RelationshipDeleteBehavior="Cascade"
/>

如何为列表配置级联删除选项集?在预配查找字段的“网站栏”定义中,它不包括您通常直接从列表库编辑栏设置时获得的删除关系字段。我还尝试将我的字段从元素文件移动到模式文件以直接在列表中创建它而不是配置网站栏,但这也失败了。

配置设置:

  1. "elements.xml" 文件定义了“列表 1”字段、内容类型和列表实例。
  2. 列表实例参数引用“schema1.xml”来创建“列表 1”。
  3. "elements.xml" 文件定义了“列表 2”字段、内容类型和列表实例。
  4. 列表实例参数参考“schema2.xml”创建“列表 2”。

想通了。我在下面添加了 schema2.xml 文件,而不是我的“资产”文件夹中的 elements.xml 文件:

<Fields>
    <Field
        ID="{UNIQUE GUID}"
        DisplayName="LookupColumn"
        Name="LookupColumn"
        StaticName="LookupColumn"
        Type="Lookup"
        List="Lists/list1name"
        Indexed="TRUE"
        Mult="FALSE"
        Required="FALSE"
        EnforceUniqueValues="FALSE"
        ShowField="ID"
        UnlimitedLengthInDocumentLibrary="FALSE"
        RelationshipDeleteBehavior="Cascade" 
        ShowInDisplayForm="TRUE"
        ShowInEditForm="TRUE"
        ShowInNewForm="TRUE"
    />
</Fields>

根据“RelationshipDeleteBehavior”的 SDK Documentation,网站栏值不得为 Cascade 或 Restrict。此限制要求将该字段放置在列表架构文件中以启用“级联”或“限制”行为。此外,由于它加载到特定列表而不是配置的内容类型,我必须添加“ShowIn[Form Type]Form”以使列显示在列表表单中。