【问题标题】:Nativescript/Angular TextView how to disallow certain values?Nativescript/Angular TextView 如何禁止某些值?
【发布时间】:2020-05-15 21:31:01
【问题描述】:

我想允许用户编辑一个文本视图;但是,如果该值无效(例如将其设置为 0),它将恢复为编辑前的值。有没有办法只在 .html 文件中执行此操作?

  <TextView
        [editable]="lift.completed"
        keyboardType="number"
        [text]="lift.reps"
        row="0"
        col="3"
        class="set_list"
        (textChange)="updateLifts(i, 'reps', $event.value)"
      >

【问题讨论】:

  • 您需要在 html 文件之外的某个地方实现该功能,但一旦完成,您可以通过指令使其可用
  • 您可以在文本字段上监听更改事件,当您发现新值无效时,您可以将值设置为旧值。正如 Aluan 提到的,如果你想重用,你甚至可以把它写成指令。
  • @Manoj 确实如此。我认为我们不能只在 (change) 内联处理程序中完成所有操作,因为我们需要一些一致的方式来存储和检索先前的有效值。不过我可能错了
  • 我认为属性更改事件已经为您提供了旧值,请尝试记录事件对象。
  • 对不起,我刚刚添加了一些代码。我让它通过一个函数发送,如果它在我指定的参数内,它只会更新文本设置的值;但是,从视觉上看,文本字段仍保留为无效值。我不确定是否有办法可以将 textview 本身作为参数发送并修改 typescript 函数中的值?

标签: angular typescript nativescript


【解决方案1】:

简单的解决方案不是使用输入吗?

<input type="number" min="1" max="100">

这似乎解决了您在说明中提供的所有要求。

【讨论】:

    猜你喜欢
    • 2018-07-28
    • 1970-01-01
    • 2013-11-13
    • 2011-08-25
    • 1970-01-01
    • 2015-12-31
    • 2020-06-10
    • 2017-05-14
    • 1970-01-01
    相关资源
    最近更新 更多