首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用ngX-bootstrap添加弹出日期选择器?

如何使用ngX-bootstrap添加弹出日期选择器?
EN

Stack Overflow用户
提问于 2017-04-27 14:29:35
回答 1查看 831关注 0票数 0

如何使用ngx-bootstrap添加日期选择器?本项目使用Angular2 typescript2 ngx-bootstrap。我正在做以下事情:在HTML中:

代码语言:javascript
复制
<datepicker class="well well-sm main-calendar" [(ngModel)]="dt" [minDate]="minDate" [showWeeks]="false" [dateDisabled]="dateDisabled"></datepicker>

在模块中:

代码语言:javascript
复制
import { DatepickerModule } from 'ngx-bootstrap/datepicker';
@NgModule({
    imports: [
        DatepickerModule.forRoot() 
    ]});
EN

回答 1

Stack Overflow用户

发布于 2017-06-14 05:07:02

库中当前不存在该功能。这里有一个关于它的讨论,但到目前为止还没有什么进展:

https://github.com/valor-software/ngx-bootstrap/issues/273

我使用bootstrap下拉菜单和datepicker创建了一个解决方法。下面是HTML (请注意,MinDate和dateValue都是我的组件类中的值):

代码语言:javascript
复制
<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>

在您的模块中,请确保包含:

代码语言:javascript
复制
import { DatepickerModule } from 'ngx-bootstrap/datepicker';
import { BsDropdownModule } from 'ngx-bootstrap/dropdown';

别忘了

代码语言:javascript
复制
@NgModule({
  declarations: [...],
  imports: [
    BsDropdownModule.forRoot(),
    DatepickerModule.forRoot(),
    ... (any other imports)
  ],
  providers: [...],
  bootstrap: [AppComponent]
])

为了在日期选择时自动关闭下拉菜单,我不想让它在点击时自动关闭,以防用户想要更改月份。因此,我们必须使用selectionDate事件。为了正确地创建函数,我们需要将其放入组件中。您需要在组件中包含以下导入:

代码语言:javascript
复制
import { ViewChild, ... } from '@angular/core';
import { BsDropdownDirective } from 'ngx-bootstrap/dropdown';

然后,您可以通过执行以下操作在Component类中引用下拉列表:

代码语言:javascript
复制
@ViewChild('datepickerDropdown') private datepickerDropdown: BsDropdownDirective;

closeDropdown() {
  this.datepickerDropdown.hide();
}

我希望我能帮上忙。这对我有效,但我不确定它是否适用于其他所有人。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43650171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档