angular - 如何以 Angular react 形式访问表单控件和表单组

标签 angular angular6 angular-forms angular-pipe

我想pipe一个 react 形式的形式组。

然后,我想对此组单独的控件进行一些检查。

这是我定义表格的方式

  myForm = this.formBuilder.group({
    myFormNameDrop: this.formBuilder.group({
      myName:['',Validators.required],
      myDrop:['era']
    }),    
    style:[''],
    userId:[this.user_id]
  });

这是我尝试创建的pipe
this.results = this.myForm.value.myFormNameDrop.valueChanges.pipe(      
  debounceTime(400),
  distinctUntilChanged(),            
  filter(formdata => formdata.myName.length > 0),
  switchMap( formdata => this.shoesService.details(formdata.myName)),
  shareReplay(1)
);//pipe  

我遇到两个错误。
关于TypeError: Cannot read property 'pipe' of undefinedthis.results = this.myForm.value.myFormNameDrop.valueChanges.pipe(
和VS代码显示有关filter(formdata => formdata.myName.length > 0),的警告:myName类型不存在属性'{}'
在这种情况下,如何访问formGroups和formGroups控件?我用 Angular 6

谢谢

最佳答案

您没有正确获取表单控件。在FormGroup对象上使用get()方法获取formControl

this.results = this.myForm.get('myFormNameDrop').valueChanges.pipe(      
  debounceTime(400),
  .........................
);

编辑:

要访问myName,您可以按照以下步骤进行操作:
this.myForm.get('myFormNameDrop').get('myName').value
另外,如果您仅对myName感兴趣,那么您可以直接查看valueChangesmyName,而不用关注myFormNameDrop
this.results = this.myForm.get('myFormNameDrop').get('myName').valueChanges.pipe(      
  debounceTime(400),
  distinctUntilChanged(),            
  filter((myName) => myName.length > 0),
  switchMap(myName => this.shoesService.details(myName)),
  shareReplay(1)
);

关于angular - 如何以 Angular react 形式访问表单控件和表单组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52075697/

相关文章:

angular - 动态创建 formGroup 时,control.setParent 不是函数

angular - 如何将 Firebase 设置为文档映射值

javascript - Angular 6 服务无法通过单元测试(NullInjectorError : No provider for HttpClient!)

angular - 仅将 Angular Material 主题应用于特定组件

javascript - 如何从子组件中获取父表单的字段?

angular - 如何在Angular的自定义控件组件中触摸内部控件?

Angular 使用 Karma 和 Jasmine TypeError : this. Service.<foo> 不是 Lifecycle Hook 中的函数

html - 如何将下拉框(在表单中)的选定选项的值从 html 传递到 ts 文件,而无需在 Angular 中提交表单

angular - 在同一页面上多次引导 Angular 应用程序

javascript - 单击按钮以升序/降序对 Angular 中的数据进行排序