gpt4 book ai didi

angular - 更改 Angular 组件内的事件 Bootstrap 选项卡

转载 作者:太空狗 更新时间:2023-10-29 17:44:15 24 4
gpt4 key购买 nike

嗨,我一直坚持这个看似简单的问题有一段时间了,来回通过 SO 解决方案似乎并不完全适合我的用例......我有一个 Angular 组件,它有一个包含 bootstrap nav pills 的模板,这些只是在这个特定屏幕中用作选项卡。所以我有一个搜索选项卡和一个结果选项卡,在执行搜索后我想激活结果选项卡,但我不知道如何从组件挂接到 Bootstrap 选项卡。

模板...

<div id="tabs" #tabs>

<ul class="nav nav-pills">
<li class="nav-item">
<a class="nav-link active" href="#search" data-toggle="tab">Search</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#results" data-toggle="tab">Results</a>
</li>
</ul>

<div class="tab-content">
<div class="tab-pane active" id="search">
search screen
<button type="button" (click)="search()">Search</button>
</div>
<div class="tab-pane active" id="results">results screen</div>
</div>

</div>

然后组件就像..

@Component({
selector: 'app-demo',
templateUrl: './demo.component.html'
})
export class DemoComponent implements OnInit {

@ViewChild('tabs') tabs;

search() {
//perform search. then select the results tab in template.
//this.tabs.selectedIndex = ...
}

}

这可能吗?或者我是否需要使用在组件中配置的不同风格的选项卡。非常感谢。

最佳答案

使用 activeTab 跟踪哪个选项卡处于事件状态,并使用 ngClass 应用 .active

component.html

<div id="tabs" #tabs>

<ul class="nav nav-pills">
<li class="nav-item">
<a class="nav-link active" href="#search" [ngClass]="{ 'active':activeTab==='search'}" (click)="search('search')"
data-toggle="tab">Search</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#results" [ngClass]="{ 'active':activeTab==='result'}" data-toggle="tab"
(click)="result('result')">Results</a>
</li>
</ul>

<div class="tab-content">
<div class="tab-pane" id="search" [ngClass]="{ 'active':activeTab==='search'}">
search screen
<button type="button" (click)="search('result')">Search</button>
</div>
<div class="tab-pane" id="results" [ngClass]="{ 'active':activeTab==='result'}">results screen</div>
</div>

</div>

component.ts

  activeTab = 'search';

search(activeTab){
this.activeTab = activeTab;
}

result(activeTab){
this.activeTab = activeTab;
}

关于angular - 更改 Angular 组件内的事件 Bootstrap 选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51105507/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com