在我的元素中,我正在使用bootstrap 4和ngx-bootstrap。现在,我需要创建一个组件,其中将包括2个可滚动的div,由标签切换。
我想在stackblitz中显示一个示例应用程序,但是我无法创建它。
因此,这是我要在其中放置这些标签的组件:
<div class="d-flex flex-column h-100">
<div class="border-bottom align-items-center d-flex flex-shrink-0 pr-3 pl-3" style="height: 60px !important;">
<input type="text" class="form-control" id="search" placeholder="Search...">
</div>
<tabset [justified]="true">
<tab heading="Title 1">
<ng-scrollbar [autoHide]="true">
<app-foo-list></app-foo-list>
</ng-scrollbar>
</tab>
<tab class="" heading="Title 2">
<ng-scrollbar [autoHide]="true">
<app-foo-list></app-foo-list>
</ng-scrollbar>
</tab>
</tabset>
</div>
在AppFooList组件中,我将放置一个元素列表。例如,它将类似于以下代码:
hiiiiiiii <br>
hiiiiiiii <br>
hiiiiiiii <br>
hiiiiiiii <br>
...
您能帮我修复我的代码,使其正常工作吗? Ngx-scrollbar不适用于标签的内容。我所有的尝试都以滚动整个应用程序结束,因为内容的高度大于其余应用程序的高度,否则内容将可滚动,但未应用ngx-scrollbar且滚动条难看。我需要div的高度是底部的其余空间。这就是为什么我使用flexbox的原因。
编辑:
code in stackblitz
最佳答案
更新了
试试这个
检查演示here
<div class="d-flex flex-column h-100">
<div class="border-bottom align-items-center d-flex flex-shrink-0 pr-3 pl-3" style="height: 60px !important;">
<input type="text" class="form-control" id="search" placeholder="Search...">
</div>
<tabset [justified]="true">
<tab heading="Title 1" [ngStyle]="{'height':'calc(100vh - ' + offsetHeightVal + 'px)'}">
<ng-scrollbar [autoHide]="true">
<app-foo-list></app-foo-list>
</ng-scrollbar>
</tab>
<tab class="" heading="Title 2" [ngStyle]="{'height':'calc(100vh - ' + offsetHeightVal + 'px)'}">
<ng-scrollbar [autoHide]="true">
<app-foo-list></app-foo-list>
</ng-scrollbar>
</tab>
</tabset>
</div>
app.component.ts
import { Component, AfterViewInit } from '@angular/core';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
name = 'Angular 6';
offsetHeightVal: number; //default value
offset(el) {
var rect = el.getBoundingClientRect(),
scrollLeft = window.pageXOffset || document.documentElement.scrollLeft,
scrollTop = window.pageYOffset || document.documentElement.scrollTop;
return { top: rect.top + scrollTop, left: rect.left + scrollLeft }
}
ngAfterViewInit() {
this.offsetHeightVal = this.offset(document.querySelector('.tab-content')).top
}
}
关于css - 将ngx-scrollbar用于ngx-bootstrap选项卡内容,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50376018/