ngx-bootstrap用于angular-datepicker在似乎什么都没起作用的情况下如何更改主题颜色

Sco*_*ary 6 javascript datepicker ngx-bootstrap angular

我正在尝试更改日期选择器的颜色,但它不起作用

这是ngx-bootstrap日期选择器 https://valor-software.com/ngx-bootstrap/#/datepicker

这是我的html模板

         <div class="form-group">
                        <label class="col-sm-3 control-label" for="date">Date:</label>
                        <div class="col-sm-9">
                                <input type="text"
                                class="form-control"
                                [minDate]="minDate"
                                [maxDate]="maxDate"
                                #dp="bsDatepicker"
                                bsDatepicker [(bsValue)]="bsValue">
                                <button class="btn btn-success" (click)="dp.toggle()">Date Picker</button>
                        </div>
                    </div>
Run Code Online (Sandbox Code Playgroud)

我尝试了各种事情,但我确实意识到这个applyTheme是一个函数

colorTheme = 'theme-green';

bsConfig: Partial<BsDatepickerConfig>;

  applyTheme(pop: any) {
  // create new object on each property change
  // so Angular can catch object reference change
  this.bsConfig = Object.assign({}, { containerClass: this.colorTheme });
  setTimeout(() => {
    pop.show();
  });
}
Run Code Online (Sandbox Code Playgroud)

Tom*_*kel 9

您没有在调用该函数。改为这样做

  1. 在您的input html元素中添加通话

    [bsConfig]="dpConfig"
    
    Run Code Online (Sandbox Code Playgroud)

接下来添加到构造函数上方的组件

public dpConfig: Partial<BsDatepickerConfig> = new BsDatepickerConfig();
Run Code Online (Sandbox Code Playgroud)

内部构造函数:

this.dpConfig.containerClass = 'theme-dark-blue'; //or whatever color
Run Code Online (Sandbox Code Playgroud)


nav*_*ule 7

在全局样式文件中添加以下行: styles.scss

.bs-datepicker-body table td.week span 
{
  color: #2dfbcd !important; 
}

.bs-datepicker-body table td span.selected,
.bs-datepicker-head,
.bs-datepicker-head, .bs-datepicker button:active,
.bs-datepicker-body table td.selected span,
.bs-datepicker-body table td span[class*="select-"]:after,
.bs-datepicker-body table td[class*="select-"] span:after,
.bs-datepicker-body table td.active-week span:hover 
{
  background-color: #2dfbcd !important; 
}
Run Code Online (Sandbox Code Playgroud)


Ork*_*zel 5

添加 [bsConfig]="{containerClass:'theme-default'}"到我的组件 html 文件对我来说很好。

添加主题配置后的输入元素:

<input type="text"
        placeholder="Select Time"
        class="form-control"
        bsDatepicker
        [bsConfig]="{containerClass:'theme-default'}"
        [(ngModel)]="startDateTime" (ngModelChange)="onStartDateTimeChange($event)">
Run Code Online (Sandbox Code Playgroud)

我正在使用3.2.0带有 Angular 的ngx-bootstrap 版本7.2.4


小智 -4

我们可以直接进入bs-datepicker.config.js文件并进行更改:

this.containerClass = 'theme-dark-blue';

或任何你想要的颜色。