该功能目前在库中不存在。这里有一个讨论,但到目前为止什么都没有:
https://github.com/valor-software/ngx-bootstrap/issues/273
我使用带有日期选择器的引导下拉菜单为其创建了一个解决方法。这是 HTML(请注意 MinDate 和 dateValue 都是我的 Component 类中的值):
<div class="dropdown" dropdown #datepickerDropdown="bs-dropdown" [autoClose]="false">
<div class="input-group" dropdownToggle>
<input type="text" disabled="disabled" class="form-control" [value]="dateValue | date:'shortDate'" />
<div class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</div>
</div>
<div *dropdownMenu class="dropdown-menu dropdown-date">
<datepicker [(ngModel)]="dateValue" [minDate]="MinDate" [showWeeks]="false" (selectionDone)="closeDropdown()"></datepicker>
</div>
</div>
在您的模块中,确保包括:
import { DatepickerModule } from 'ngx-bootstrap/datepicker';
import { BsDropdownModule } from 'ngx-bootstrap/dropdown';
不要忘记
@NgModule({
declarations: [...],
imports: [
BsDropdownModule.forRoot(),
DatepickerModule.forRoot(),
... (any other imports)
],
providers: [...],
bootstrap: [AppComponent]
])
为了自动关闭日期选择的下拉菜单,我不希望它在单击时自动关闭,以防用户想要更改月份。因此我们不得不使用 selectionDate 事件。要正确创建函数,我们需要将其拉入组件中。您需要在组件中包含以下导入:
import { ViewChild, ... } from '@angular/core';
import { BsDropdownDirective } from 'ngx-bootstrap/dropdown';
然后,您可以通过执行以下操作来引用 Component 类中的下拉列表:
@ViewChild('datepickerDropdown') private datepickerDropdown: BsDropdownDirective;
closeDropdown() {
this.datepickerDropdown.hide();
}
我希望我能提供帮助。这对我有用,但我不确定它是否适用于其他所有人。