无法 link 到具有特定参数的 SPO 页面上的 Web 部件

Cannot link to a webpart on SPO page with certain parameters

我创建了一个超链接,它打开了一个显示 SharePoint Online 列表中特定项目的模式。 这是我到目前为止所获得的(在 AmosWu 的帮助下!):

private  _filterListOnEmail = () => { //this runs on componentdidmount
    
    var urlParams = new URLSearchParams(window.location.search);

    var urlParamstoString = urlParams.toString();
    
    var justUrl = window.location.href;

    var trimHref = justUrl.split('&')[0];

    var trimHref2 = trimHref.substring(trimHref.indexOf("=") + 1);
    
    var txtUrlParams = urlParams.toString();

    var trimtxtUrlParams = txtUrlParams.substring(3);
    
    this.setState({
      urlParams: trimHref2
    },  () => {
 
      if(urlParamstoString){
        this.setState({
          showWelcomeModal: true,
          ByEmail: 'Yes',
      
      });
    }

我构建的URL:

<a href={`https://mytenant.sharepoint.com/sites/MySite?ID=${this.props.id}`}>Here</a>

如果 URL 是 https://mytenant.sharepoint.com/sites/MySite?ID=1 并且它显示我的模式并且它获得正确的 ID 并显示正确的列表项,则此方法有效。但如果它是 ID=2 或任何其他数字,页面显示 No item exists at https://mytenant.sharepoint.com/sites/MySite/SitePages/Home.aspx?ID=2 我不明白为什么要把额外的 SitePages/Home.aspx 放在最后....我想这会导致 No item exists 错误。 Web 部件位于 SP 站点的主页上。 它适用于 workbench 中的任何 ID 号,但在部署时无效。 真的需要帮助。

我的测试结果: 我在模态中显示了编辑表单,效果很好。

代码是我在问答中分享给大家的代码。如果您需要完整的项目代码,请告诉我,我会在 Github.

上分享