PowerApps中Patch函数更新SharePoint数据异常问题求助
解决PowerApps输入框未失焦时Patch不更新字段的问题
针对你遇到的问题——光标停留在输入框时直接点击Patch按钮,最新输入内容无法同步到SharePoint的情况,本质是PowerApps文本输入框默认的DelayOutput属性导致控件值延迟更新,以下是几个直接可行的解决办法:
方法1:强制输入框失焦再执行Patch
在Patch按钮的OnSelect事件开头,先将焦点转移到一个隐藏的输入框,强制当前输入框失焦:// 先设置焦点到隐藏控件 SetFocus(hiddenTextInput); // 执行Patch操作 Patch(你的SharePoint列表名, Gallery.Selected, { 字段1: Input1.Text, 数量字段: Value(InputQuantity.Text) })其中
hiddenTextInput是你在画布外添加的一个文本输入框,设置Visible: false即可,无需其他配置。方法2:用变量存储输入值,Patch时引用变量
给每个输入框添加OnInput事件(实时同步)或OnChange事件(失焦同步),将输入值存入变量:
比如数量输入框的OnInput:Set(varQuantity, Value(Self.Text))然后Patch时直接使用变量而非控件的
Text属性:Patch(你的SharePoint列表名, Gallery.Selected, { 数量字段: varQuantity, 其他字段: varOtherField })方法3:关闭输入框的延迟输出
找到有问题的输入框,将DelayOutput属性从默认的true改为false。这样输入框的Text属性会实时同步用户输入的内容,无需失焦就能通过Patch获取到最新值。
以上方法都能绕过“需失焦才更新控件值”的限制,确保点击Patch按钮时能获取到所有输入框的最新内容。
内容的提问来源于stack exchange,提问作者JohnnySnowballs
相关产品推荐
相关产品推荐

