修改 textChange nativescript 中的文本

费利佩·森特诺

我目前正在使用 HostListener 以便能够在用户输入文本的同时格式化用户文本。例如,如果用户正在输入电话号码,我希望能够根据需要添加格式。如果字符串是 0000,我希望文本是 000-0,如果文本是 0000000000,那么“(801) 123 - 1234”。我有这样做的逻辑,但我目前正在使用主机侦听器来执行此操作。

  @HostListener("textChange")
  public onTextChange(target): void {
    this.el.text = this.phoneFormatPipe.transform(this.el.text)
  }

这有效,但它会一直调用自己,直到达到最大堆栈调用限制。这显然太慢了,所以我的问题是:如何在不触发 textChange 事件的情况下修改元素内的文本?还是有另一种方法来实现这一目标?

提前致谢!快乐编码!

伊恩·麦克唐纳

有更好的方法来做你正在做的事情,但我不确定是否有更好的方法来自 iOS 开发,我知道肯定有一个更合适的地方来做这种操作,但在这里做不应该导致你达到最大堆栈。

如果您更新源代码来执行此操作,您将避免最大堆栈限制(并显着提高应用程序的性能)。这不是最好的方法,但它是我目前在 NativeScript 中发现的最好的方法。

@HostListener("textChange")
public onTextChange(target): void {
  let newText: string = this.phoneFormatPipe.transform(this.el.text);
  if (this.el.text !== newText) {
    this.el.text = newText;
  }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

QTextEdit中的Qt textChange()

来自分类Dev

QTextEdit中的Qt textChange()

来自分类Dev

使用textchange事件从文本框中添加/减去

来自分类Dev

如何在TextChange事件上更改MaskedTextBox的文本颜色?

来自分类Dev

C#中的MS Word加载项TextChange事件

来自分类Dev

PHP / Javascript中的文本修改

来自分类Dev

Nativescript – 在 textView、动态文本和多行中居中水平文本

来自分类Dev

如何修改文本块中的内容

来自分类Dev

如何在单元格TextChange上的DataGridViewCll中显示ErrorIcon?

来自分类Dev

Nativescript连接文本使用Label

来自分类Dev

Nativescript连接文本使用Label

来自分类Dev

如何更改NativeScript标签的文本

来自分类Dev

NativeScript中的CSS渐变

来自分类Dev

使用JSoup在Java中修改html标记自身的文本

来自分类Dev

python程序-修改文本文件中的列

来自分类Dev

C程序试图修改文本段中的位置

来自分类Dev

修改文本文件中的特定行

来自分类Dev

修改ggplot中的图例颜色和文本-R

来自分类Dev

bash文本文件中的数字修改

来自分类Dev

在Python中修改图形上的注释或悬停文本

来自分类Dev

R中的多个文本字符串修改

来自分类Dev

如何在Python中修改文本文件

来自分类Dev

python程序-修改文本文件中的列

来自分类Dev

Excel中的统计信息,包括修改后的文本值

来自分类Dev

可可文本菜单和NSOutlineView中的修改字体

来自分类Dev

在行中修改与文本的开始和中间部分匹配的行

来自分类Dev

修改文本文件中的特定行

来自分类Dev

修改了Excel单元格中的文本?

来自分类Dev

cmd-修改文本文件中的行