BsDatepicker没有显示在Children Components(ngx-bootstrap)中

时间:2018-02-24 13:00:53

标签: angular typescript datepicker ngx-bootstrap

我正在使用 Angular 5 ,我想使用ngx-bootstrap bsDatepicker模块。我按照https://ngx-universal.herokuapp.com/datepicker中的步骤操作,但是datepicker没有出现。我刚收到控制台警告信息。我没有收到任何错误消息

  

warn-once.js:10

     

BsDatepickerModule正在开发中,

     

可以实现突破性改变,

     

请阅读更改日志

Datepicker元素也未呈现

enter image description here

我的app.module.ts

import { BsDatepickerModule } from 'ngx-bootstrap/datepicker';
...
imports: [
   ... ,
   BsDatepickerModule.forRoot(),
   ... ,
],

我的custom.component.html

  <div class="col-md-6">
     <input type="text" class="form-control" placeholder="Datepicker" bsDatepicker formControlName="date" />
  </div>

我还将bsDatepicker css文件的CDN链接添加到我的index.html

<link rel="stylesheet" href="https://unpkg.com/ngx-bootstrap/datepicker/bs-datepicker.css">

ngx-bootstrap,Angular和Bootstrap的版本:

  • ngx-bootstrap:^ 2.0.2
  • Angular:5.2.7
  • Bootstrap:3.3.7

构建系统:

  • Angular CLI:1.7.2
  • webpack:3.11.0
  • 打字稿:2.4.2

4 个答案:

答案 0 :(得分:1)

我找到了解决方案。

错误或问题是:我向BsDatepickerModule.forRoot()添加了app.module.ts,但它适用于app.compontent.html。我无法在我的子组件中使用它,该组件加载了lazyLoadingBsDatepickerModule.forRoot()并非对所有组件全局工作。我不知道出了什么问题。

临时解决方案

我将BsDatepickerModule.forRoot()添加到我想要在其中使用datepicker的子组件中。这解决了我现在的问题。

答案 1 :(得分:0)

在.angular-cli.json文件中添加样式URL

"styles": ["../node_modules/ngx-bootstrap/datepicker/bs-datepicker.css"],

在app.module.ts中导入模块

import { BsDatepickerModule } from 'ngx-bootstrap/datepicker';

@NgModule({
imports: [
    .....
    CarouselModule.forRoot(),
    .....
  ]
})

在.html文件中添加日期控件

<div  class="form-group">
            <input type="text" class="form-control" placeholder="Datepicker" bsDatepicker formControlName="date" />
          </div>

对我有用

答案 2 :(得分:0)

有两种解决方案。您应根据应用程序的体系结构做出此决定。如果您只有一个带有几个子组件的较小应用程序,则只需在子组件的导入中添加Type::$entity->getType()。如果您有一个较大的应用程序,或者随着时间的推移会不断增长,那么最好的解决方案是将let url = "itms-apps://itunes.apple.com/app/id1300094663" UIApplication.shared.open(URL(string: url)!) 添加到您的导入中,并将BsDatepickerModule.forRoot()添加到您的共享模块中>。如果您没有共享模块(应该这样做),请签出thisthis

大型应用解决方案(最佳)

BsDatepickerModule.forRoot()

小型应用解决方案(不错,但不是最好的)

BsDatepickerModule

答案 3 :(得分:-1)

<link rel="stylesheet" href="https://unpkg.com/ngx-bootstrap/datepicker/bs-datepicker.css">

我将CDN链接添加到index.htm中的样式表中。一切正常。