You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Power Apps中点击HTML文本控件内文字跳转至应用内其他屏幕的问题

解决Power Apps HTML文本控件点击指定文字跳转应用内屏幕的问题

问题原因

你之前用的公式If(Find( HtmlTxt_ProSgmnt_Process.HtmlText,"OPS 2.05 Processing Refill Orders") >0, Navigate(Screen2))无法实现预期效果,核心问题有两个:

  • 公式仅判断HTML文本中是否存在目标字符串,只要包含该内容,点击控件任意区域都会触发跳转,而非仅点击目标文字
  • 没有针对点击的具体内容(链接)做识别和定向处理

解决方案

通过自定义HTML链接+拦截LaunchUri实现精准跳转,步骤如下:

  1. 修改HTML文本内容,替换目标文字为自定义链接
    把SharePoint富文本列的内容做替换,将需要跳转的目标文字转换成带自定义协议的HTML链接,同时保留原富文本的样式(颜色、加粗等)。设置HTML文本控件的HtmlText属性为以下公式:
Substitute(
    YourSharePointList.RichTextColumnName,
    "OPS 2.05 Processing Refill Orders",
    "<a href='internal://navigate/Screen2' style='color:inherit;text-decoration:underline;'>OPS 2.05 Processing Refill Orders</a>"
)

说明:style='color:inherit;text-decoration:underline;'是为了保留原文本颜色,同时添加下划线提示可点击;如果原文本有加粗、特定颜色样式,可以把这些样式整合到<a>标签的style属性里。

  1. 在HTML文本控件的OnSelect事件中处理跳转
    点击HTML里的链接时,Power Apps会自动把链接的href值赋值给全局变量LaunchUri,我们通过识别自定义协议来触发应用内导航:
If(
    StartsWith(LaunchUri, "internal://navigate/"),
    Navigate(Last(Split(LaunchUri, "/")).Result)
)

扩展:多目标文字跳转

如果有多个需要跳转的不同文本,可嵌套Substitute批量替换,并在OnSelect里用Switch处理不同跳转:

// HtmlText属性
Substitute(
    Substitute(
        YourSharePointList.RichTextColumnName,
        "OPS 2.05 Processing Refill Orders",
        "<a href='internal://navigate/Screen2'>OPS 2.05 Processing Refill Orders</a>"
    ),
    "其他目标文本",
    "<a href='internal://navigate/Screen3'>其他目标文本</a>"
)

// OnSelect属性
Switch(
    Last(Split(LaunchUri, "/")).Result,
    "Screen2", Navigate(Screen2),
    "Screen3", Navigate(Screen3)
)

内容的提问来源于stack exchange,提问作者Aamante

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 09:37:30