当前位置:  开发笔记 > 编程语言 > 正文

如何在Angular Material2中获取活动选项卡

如何解决《如何在AngularMaterial2中获取活动选项卡》经验,为你挑选了3个好方法。

我想获得哪个标签处于活动状态.我尝试使用@ViewChild装饰器并以这种方式访问​​元素属性,但它返回null.

零件:

import {Component, OnInit, ViewChild} from '@angular/core';

@Component({
  selector: 'material-app',
  template: `
  
      Content 1
      Content 2
  
  `
})
export class AppComponent implements OnInit {

  @ViewChild('tabGroup') tabGroup;

  constructor() {
  }

  ngOnInit() {
    console.log(this.tabGroup); // MdTabGroup Object
    console.log(this.tabGroup.selectedIndex); // null
  }

}

Plunker预览



1> developer033..:

好吧,我不确定我是否理解你的问题,因为默认情况下,除非你手动设置[selectedIndex], 否则索引总是从零开始计数property.

无论如何,如果您真的想要查看在初始化时选择了哪个选项卡,您可以实现该AfterViewInit接口并执行以下操作:

export class AppComponent implements AfterViewInit, OnInit {

...

  ngAfterViewInit() {
    console.log('afterViewInit => ', this.tabGroup.selectedIndex);
  }
}

另一方面,如果你想根据变化(更有意义的话)检查选择哪个标签,你可以去:

HTML:


  Content 1
  Content 2

零件:

tabChanged(tabChangeEvent: MatTabChangeEvent): void {
  console.log('tabChangeEvent => ', tabChangeEvent);
  console.log('index => ', tabChangeEvent.index);
}

DEMO



2> Uliana Pavel..:

根据材料文档,Angular Material选项卡在选项卡更改时输出事件 @Output() selectedTabChange: EventEmitter

你的模板:


  
    Tab 1
    Tab Content
  
  
    Tab 2
    Tab Content
  

你的打字稿:

import { MatTabChangeEvent } from '@angular/material';

public tabChanged(tabChangeEvent: MatTabChangeEvent): void {
    console.log(tabChangeEvent);
}



3> Uliana Pavel..:

“ @ angular / material”:“ ^ 6.2.1 ”。在加载时(加载模板后)以及突出显示标签时获取选定标签索引的方法。

my.component.ts

export class MyComponent implements OnInit, AfterViewInit {
    @ViewChild('tabGroup') tabGroup;

    ngAfterViewInit() {
      console.log(this.tabGroup.selectedIndex);
    }

    public tabChanged(tabChangeEvent: MatTabChangeEvent): void {
      console.log(tabChangeEvent);
    }
}

my.component.html


    
        Tab 1
        Tab Content
    
    
        Tab 2
        Tab Content
    

推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有