【发布时间】: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