首页 > 解决方案 > 如何在LWC社区页面中形成一个可以携带用户信息的URL?

问题描述

我正在使用 LWC 在闪电社区体验构建器中构建一个 Web 应用程序,它已经有一个带有我的组织域的 URL。

现在我想将 URL 连同附加到其末尾的 Id 一起移交给用户,这样当用户访问该站点时,我可以使用 JS 从 URL 中检索 Id。例子,

原始网址:cs-123.aig.lightning.force.com/form

用户登陆: cs-123.aig.lightning.force.com/form?userId=123

当使用 renderCallBack 或 connectedCallBack 加载组件时,我必须能够检索 userId。

提前致谢。

注意:LWC 提供的闪电导航服务,不适用于 Salesforce、LEX 之外。

标签: urlsalesforcesalesforce-lightninglwc

解决方案


纯JavaScript URLSearchParams应该足够了。我的项目中有类似的东西,并且在社区中工作正常,页面上嵌入了 LWC。

connectedCallback() {
    // Try to read the preselected id from URL
    if (window.location.href) {
        try {
            let url = new URL(window.location.href);
            let id = url.searchParams.get('id');
            if (id) {
                this.userId = id;
            }
        } catch (e) {
            if (console) {
                console.log(JSON.stringify(e));
            }
        }
    }
}

推荐阅读