[Power Apps] 如何让文本框焦点消失的时候,才执行一些动作?

匿名
2024-09-20T09:30:59+00:00

先说明一下:以下控件我用的都是Power Apps的现代化控件,而不是用Classic控件。

在 Power Apps 中,如何设置才能让文本框控件仅在光标移出该文本框,或者说该文本框失去焦点后才执行操作,例如搜索?我已经在文本输入控件的 TriggerOutput 属性选择了 “FocusOut”。根据 Microsoft 对于该属性的描述,TriggerOutput 有三个选项:

  • **FocusOut :**仅当文本输入控件失去焦点时触发 OnChange。这是默认选项
  • **Delay:**在半秒延迟后触发 OnChange。
  • **Keypress:**在用户键入时立即触发 OnChange。

根据我的理解,“FocusOut” 应该是我想要的。但是,即使在选择“FocusOut”之后,仍然会在我每输入一个字符的时候就开始执行操作(类似于“Keypress”行为),这会严重影响性能。

请考虑以下示例:有一个文本输入控件 (名为inputEmail) 和一个 label(名为resultName) 控件。在文本框中输入用户的电子邮件地址后,标签会显示用户的名称。我的设置如下:

resultName.text = Office365Users.UserProfileV2(inputEmail.Value).displayName

假设我在文本框要输入的邮箱为******@contoso.com。那么会出现以下情况:当我输入z,他就报以下错

Office365Users.UserProfileV2 fail: { "error": { "code": "ResourceNotFound", "message": "User not found", "innerError": xxxxxxxx} }

提示找不到该用户,然后我接着输入一个h,继续报上面错误。我每输入一个字母他就报一次错,直到我把整个邮箱地址输入完整,才不会报错。Label会出现正确的用户的名字。报错我可以理解,因为我根本还没输完邮箱地址,当然找不到,但问题是,他为什么会在我每输入一个字符的就是就跑去查找,而不是在我完整输入了邮箱地址,然后把光标移出文本框的时候才开始搜索?这个行为非常像TriggerOutput 属性选择了 “Keypress”,虽然我选的是FocusOut。

另外我也尝试这么设置过:

在inputEmail的OnChange属性设置

UpdateContext({resultName:Office365Users.UserProfileV2(inputEmail.Value).displayName})

然后在resultName.text中设置为resultName,结果同上。

再考虑另外一个例子:

有一个文本框用来输入UserID,然后有一个Table,用来显示该UserID下的订单。出现的同样情况是,在文本框中每输入一个字符,Table就跑去search一下数据库,然后显示没有结果。直到我完整输入完UserID,Table才显示结果,这会极度影响性能,因为我每敲一个字符就搜索一次。。。想咨询一下为何会这样?谢谢。

Microsoft 365 和 Office | 安装、兑换、激活 | 商业版 | 其他

锁定的问题。 此问题已从 Microsoft 支持社区迁移。 你可投票决定它是否有用,但不能添加评论或回复,也不能关注问题。

0 个注释 无注释

1 个答案

排序依据: 非常有帮助
  1. 匿名
    2024-09-20T12:46:26+00:00

    您好! 

    感谢您在微软社区提交问题。

    我注意到您要咨询Power App相关的问题。请理解此查询超出本论坛的支持范围。此论坛主要讨论Office应用功能性方面的问题,对于Power App的支援非常有限,为了让您得到更专业的帮助,请通过访问此网站Microsoft Power Platform Community Forum Thread 发帖讨论;这里有针对Power App的专家可以有效准确地解决您的问题。

    我要求您发布新帖子的原因是,在 Answers 论坛中,我们对 Power Automate 的资源有限且知之甚少,而在 Microsoft Power Platform Community Forum Thread,您将获得专业的支持人员的版主,并且其他定期阅读论坛的用户可以分享他们的知识以及经验。

    感谢您的合作与理解。请随时在 Microsoft 社区中发布您的问题,我们将始终尽最大努力为您提供帮助!

    真诚的祝愿您一切顺利。

    Tin|微软社区审阅人

    此答案是否有帮助?

    0 个注释 无注释