【问题标题】:PowerApps: How to get Text-Input onChange to trigger updating the text?PowerApps:如何让 Text-Input onChange 触发更新文本?
【发布时间】:2019-10-15 18:49:09
【问题描述】:

我有一个接受电话号码的文本框。我想自动从输入中删除任何不是 + 的特殊字符,并向用户显示我已经这样做了。

我已经尝试过了,但我什至没有看到任何 onChange 事件触发,更不用说实际更新我的数据了。

在文本输入的 OnChange 中,我有这个:

Substitute(cvarNumberE164ValueNew,"(","");
Substitute(cvarNumberE164ValueNew,"-","");
Substitute(cvarNumberE164ValueNew,".","");
Substitute(cvarNumberE164ValueNew," ","");

UpdateContext({cvarNumberE164ValueNew : cvarNumberE164ValueNew});```

这里的逻辑是“替换电话号码中的这5个常用字符,然后触发UpdateContext,它应该触发字段重新获取值”。

显然我没有正确地做某事,但不知道是什么。我还尝试反复触发 UpdateContext 以将 cvarNumberE164ValueNew 设置为 Substitute 函数的结果,但无济于事。

编辑 我现在有这个工作,但它最终有点令人费解。我必须在文本输入的 OnChange 中初始化并设置一个全局变量。然后对该变量进行所有替换,最后,执行 UpdateContext 将我的上下文变量设置为全局变量的值。我的文本输入的默认属性是 cvarE164Value,所以至少 PA 的数据处理在这一切之后会自动更新文本输入。

为了清理,我将全局变量设置回一个空字符串,因此如果用户使用我想要修剪的数据重复编辑字段,则逻辑可以可靠地重复自身,因此如果他们不会持续到之前的值稍后在同一会话中再次转到表单。

Set(gvarNumberE164ValueNew,txtNumberE164ValueNew.Text);

/* prune ) */
Set(gvarNumberE164ValueNew,Substitute(gvarNumberE164ValueNew,")",""));

/* prune ( */
Set(gvarNumberE164ValueNew,Substitute(gvarNumberE164ValueNew,"(",""));

/* prune - */
Set(gvarNumberE164ValueNew,Substitute(gvarNumberE164ValueNew,"-",""));

/* prune - */
Set(gvarNumberE164ValueNew,Substitute(gvarNumberE164ValueNew,".",""));

/* prune SPACE */
Set(gvarNumberE164ValueNew,Substitute(gvarNumberE164ValueNew," ",""));

/* replace cvar with cleaned gvar */
UpdateContext({
  cvarE164Value : gvarNumberE164ValueNew
});

Set(gvarNumberE164ValueNew,"");```

【问题讨论】:

    标签: powerapps


    【解决方案1】:

    替换函数返回一个文本值。根据您的公式,您可能想尝试将 Substitute 函数放入 UpdateContext 函数中,如下所示:

    UpdateContext({cvarNumberE164ValueNew : Substitute(cvarNumberE164ValueNew,"(","")})
    

    【讨论】:

    • 是的,我也试过了。这就是我在最后一句话中想要表达的意思。
    • 我的完整示例是这样的。 TextInput: OnChange: Set(var, TextInput.Text); UpdateContext(var, Substitue(var,"(","")); 文本:var
    猜你喜欢
    • 1970-01-01
    • 2018-01-09
    • 2018-07-15
    • 2016-12-18
    • 2010-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-14
    相关资源
    最近更新 更多