首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有哪些方法可以区分以编程方式修改的表单控件和由用户修改的表单控件?

有哪些方法可以区分以编程方式修改的表单控件和由用户修改的表单控件?
EN

Stack Overflow用户
提问于 2019-08-17 16:19:51
回答 2查看 62关注 0票数 3

我使用angular reactive表单来创建一个包含文本字段的表单。

如果字段的数据已经存储,我会预先填充这些字段。现在,我可以允许用户导航到这些表单来编辑字段。

我想在编辑文本字段时调用一个函数,这可能会清除它下面的其他字段。

但我不希望该函数清除文本字段被编程修改时调用的其他字段,在本例中,文本字段是预先填充的。

我如何使用angular reactive forms及其API实现这一点?表单控件(如pristinetouched )上的标志同时受用户操作和编程预填充的影响。

EN

回答 2

Stack Overflow用户

发布于 2019-08-17 16:24:06

如果您正在以编程方式修改文本字段,请设置一个额外的布尔值(例如:modifiedProgramatically= true),并检查该布尔值以及表单控件上的标志,如pristine或touched。

票数 2
EN

Stack Overflow用户

发布于 2021-11-12 13:39:25

虽然不完全是角度表单方法,但是非常简单:侦听<input>上的输入事件,清除回调中的表单字段。

代码语言:javascript
运行
复制
@Component({
  template: `<input (input)='onUserInput($event)'>`
})
class Example {
  form = new Form({
    something: new FormControl('value')
  })
  onUserInput() {
    this.form.controls.something.setValue(null)
  }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57534538

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档