首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >交换机TAB时未调用statusChanges

交换机TAB时未调用statusChanges
EN

Stack Overflow用户
提问于 2019-09-26 01:01:55
回答 1查看 155关注 0票数 1

我有一个父组件,它有两个选项卡。每个TAB包含一个子组件。每个子组件都有一个窗体。

在父组件上有一个按钮。我想要的是,一旦两个反应形式是有效的,然后启用按钮。父组件喜欢

代码语言:javascript
复制
 <Button (click)="Submit()" [disabled]="!isChild1FormValid || !isChild2FormValid">Submit</Button>
 <kendo-tabstrip (tabSelect)="onTabSelect($event)">
    <kendo-tabstrip-tab [title]="'Paris'" [selected]="true">
      <ng-template kendoTabContent>
        <app-child1 (isChild1FormValid)="trigger1($event)">
        </app-child1>
      </ng-template>
    </kendo-tabstrip-tab>
    <kendo-tabstrip-tab [title]="'New York City'">
      <ng-template kendoTabContent>
         <app-child2 (isChild2FormValid)="trigger2($event)">
        </app-child2>
      </ng-template>
    </kendo-tabstrip-tab>
 </kendo-tabstrip>  

我父母的ts文件。我们有办法。

代码语言:javascript
复制
trigger1(isValid: boolean) {
   isChild1FormValid = isValid;
}
 trigger2(isValid: boolean) {
   isChild2FormValid = isValid;
}

在child1组件中。

代码语言:javascript
复制
@Output() isChild1FormValid: EventEmitter<boolean> = new EventEmitter<boolean>();
In its `ngOnInit()`, we have 
     childForm1.statusChanges.subscribe(res => {
      if(res == 'VALID') {
          this.isChild1FormValid.emit(true);
       }
       });
   }

类似于child2组件,

代码语言:javascript
复制
@Output() isChild2FormValid: EventEmitter<boolean> = new EventEmitter<boolean>();
In its `ngOnInit()`, we have 
    childForm2.statusChanges.subscribe(res => {
      if(res == 'VALID') {
          this.isChild2FormValid.emit(true);
       }
       });
    }

假设child1表单和child2表单有一些文本框,这是必需的。(这里省略了代码,因为它只是Validators.required

现在,我在控件中键入了一些文本,并在statusChanges事件中设置了断点。现在的问题是没有调用child2 statusChanges方法。但是child1是可以的,验证是有效的。我想这是TAB的问题,当我切换它,它可能会重新装载?

更新:

不知道为什么它在stackblitz中工作,但在我的应用程序中失败。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-26 23:40:35

结果是一个较低级别的错误,我没有将表单控件的名称放在元素中。我应该仔细检查一下。

比如

代码语言:javascript
复制
<label>
First Name:
<input type="text" formControlName="firstName">

`

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58108258

复制
相关文章

相似问题

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