【问题标题】:Set ngModel if an object is returning true如果对象返回 true,则设置 ngModel
【发布时间】:2019-08-30 16:38:59
【问题描述】:

是否可以将输入文本框的[(ngModel)] 恢复为以前的值并仅在对象返回<em>true</em> 时设置[(ngModel)]

<input type="text" [(ngModel)]="textValue">

如何为[(ngModel)]动态设置值?

【问题讨论】:

  • 什么是“对象”?输入文本还是其他属性?
  • 假设我在提交点击输入框输入值我发现了一些错误,所以我想将模型对象的值设置为以前的值
  • 请澄清“一些错误”
  • 假设我通过编辑先前输入的正确邮政编码输入了无效的邮政编码,因此在这种情况下,我需要将 ngModel 值恢复为 ngModel 的先前值...@dince12 我认为你提供的答案会起作用:)
  • 任何其他建议让我知道

标签: javascript angular angular7


【解决方案1】:

您可以使用三元来检查值是否为真,如果为真,下面的代码将使用它,如果 textValue 为假,则使用另一个值。下面是一个小例子,根据您的要求进行相应更改。

public originalValue = 'hello';
public textValue;  //may be truthy or falsy.

<input type="text" [(ngModel)]="textValue ? textValue : originalValue">

三元分解。如果值在 ?如果是真的,那么将使用问号后面的值。如果 ?是假的,那么将使用 : 之后的值。

对于使用上述公共变量的 cmets 中提到的。这将假设您有一个函数告诉您邮政编码是否有效或不返回真或假。

public submitFunction(): void
{
    const valueToUse = isPostCode(this.textValue) ? this.textValue : this.originalValue;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-06
    • 2018-01-04
    • 1970-01-01
    • 2018-10-22
    • 1970-01-01
    • 2021-03-23
    相关资源
    最近更新 更多