如何在Power Apps/SharePoint列表中让链接在当前标签页打开
问题场景
我有一个集成SharePoint列表的Power App,希望用户点击按钮、保存更改或取消编辑时,跳转链接能在当前标签页打开。目前遇到的问题:
- 使用
Launch("URL")实现按钮跳转时,会在新标签页打开 Launch函数在OnSave或OnCancel事件中无法生效- 尝试
Launch("URL", {}, LaunchTarget.Replace)后完全没有反应,既不打开新标签页也不执行跳转
当前应用代码:
Button OnSelect: Launch(“URL”) OnSave: SubmitForm(SharePointForm); Launch(“URL”) OnCancel: ResetForm(SharePointForm); Launch(“URL”)
解决方案
1. 修正语法错误(核心问题)
你的代码中使用了中文双引号包裹URL,这会导致Power Apps无法正确解析Launch函数。首先要把所有引号替换为英文双引号,再配合LaunchTarget.Replace参数实现当前标签页跳转。
2. 按钮跳转的正确写法
在按钮的OnSelect事件中,使用带参数的Launch函数:
Button OnSelect: Launch("https://你的目标URL地址", {}, LaunchTarget.Replace)
3. 保存操作后跳转的正确写法
SubmitForm是异步操作,直接在OnSave中写Launch可能会在表单提交完成前执行,导致跳转失效。需要改用表单的OnSuccess事件来触发跳转:
- 保留
OnSave的表单提交逻辑:OnSave: SubmitForm(SharePointForm) - 给
SharePointForm设置OnSuccess事件:SharePointForm OnSuccess: Launch("https://你的目标URL地址", {}, LaunchTarget.Replace)
4. 取消操作后跳转的正确写法
修正引号问题后,直接在OnCancel事件中执行重置和跳转:
OnCancel: ResetForm(SharePointForm); Launch("https://你的目标URL地址", {}, LaunchTarget.Replace)
注意事项
- 该方案仅在浏览器中运行的Power Apps生效,移动端Power Apps不支持
LaunchTarget.Replace替换当前标签页 - 确保目标URL是可正常访问的,没有权限或网络限制
内容的提问来源于stack exchange,提问作者oawie1815
相关产品推荐
相关产品推荐

