【发布时间】:2020-11-16 06:02:19
【问题描述】:
我正在使用 Mat-tab 创建一个动态选项卡。新选项卡已创建并且工作正常。但我的要求是将新创建的选项卡显示为第一个选项卡。如何将新创建的选项卡插入到第一个。任何人请帮忙。提前谢谢...
这里是stackblitz链接
https://stackblitz.com/angular/epealnoxvlg?file=app%2Ftab-group-dynamic-example.ts
【问题讨论】:
我正在使用 Mat-tab 创建一个动态选项卡。新选项卡已创建并且工作正常。但我的要求是将新创建的选项卡显示为第一个选项卡。如何将新创建的选项卡插入到第一个。任何人请帮忙。提前谢谢...
这里是stackblitz链接
https://stackblitz.com/angular/epealnoxvlg?file=app%2Ftab-group-dynamic-example.ts
【问题讨论】:
如果您在选项卡 0 中并添加一个新选项卡 - “选定的选项卡未更改”,则会出现问题,因此您可以编写考虑到这一点
addTab(selectAfterAdding: boolean) {
this.tabs.unshift('New');
if (selectAfterAdding) {
if (this.selected.value==0) //if is yet "0"
this.selected.setValue(1)
setTimeout(()=>{
this.selected.setValue(0);
})
}
}
【讨论】:
你应该做的是谷歌
js 数组插入到数组的开头
您可以使用this.tabs.unshift('New'); 代替this.tabs.push('New');
【讨论】:
this.selected.setValue(this.tabs.length - 1); 更改为this.selected.setValue(0); 应该可以,但它不起作用。这可能是角度逻辑的问题