2016-11-16 27 views
1

私は以下の手順に従っており、以下の画像を完成させることができました。angle2のbootstrap datepicker入力フィールドの使用方法

  1. バージョン6.9.1のインストールノードです。それはnpm 3.10.8と付属しています
  2. 私は次のinstallation stepsに従った。
  3. 今私が<ngb-datepicker></ngb-datepicker>を使用しようとすると、このタイプの画面が表示されます。 ngb-datepicker

は、しかし、私は<input ngbDatepicker />だけテキストボックスapperr、私はそれをfoucsとき、それは日付ピッカーが表示されないを試してみましたinput[ngbDatepicker]

使用方法を理解することはできませんよ。

ここには私が使用しているlinkがあります。あなたは以下のようにtemplate referenceを用いて、入力のfocusイベントを使用することができます焦点に日付ピッカーを表示するには

+0

であるあなたは、 'あなたの中bootstrap' CSSを追加しましたHTML? – ranakrunal9

+0

はい。これを加えた後、ちょうどデザインが変わった。しかし余分なものは何もない。 –

答えて

2

多くの作業をした後、ranakrunal9から提案がありました。私はこの次のコードベースに到達しました。これは、すべての局面では正常に動作している(しかし、それでもまだ、私は日付ピッカーの外側をクリックすると、日付ピッカーが閉じられていない、ことを持っている唯一の問題)ここではplunker

import {Component, NgModule} from '@angular/core' 
import {BrowserModule} from '@angular/platform-browser' 
import {NgbModule, NgbDateParserFormatter, NgbDateStruct} from '@ng-bootstrap/ng-bootstrap'; 
import { Component, OnInit, Input, forwardRef } from '@angular/core'; 
import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms'; 
import { FormGroup, FormBuilder, Validators } from '@angular/forms'; 

@Component({ 
    imports: [ 
    NgbModule, 
    BrowserModule, 
    NgbDateParserFormatter 
    ], 
    selector: 'my-app', 
    templateUrl: 'template.html' 
}) 
export class App { 


} 

@NgModule({ 
    imports: [ BrowserModule, 
    NgbModule.forRoot()], 
    providers : [ 
    {provide: NgbDateParserFormatter, useClass: forwardRef(() => CustomDateParserFormatter)} 
    ], 
    declarations: [ App ], 
    bootstrap: [ App ] 
}) 
export class AppModule {} 



export class CustomDateParserFormatter extends NgbDateParserFormatter { 
    parse(value: string): NgbDateStruct { 
    if (value) { 
     const dateParts = value.trim().split('/'); 
     /* 
    Put your logic for parsing 
     */ 
    } 
    return null; 
    } 

    format(date: NgbDateStruct): string { 
    return date ? 
     date.day+'/'+date.month+'/'+date.year : 
     ''; 
    } 
} 
+2

あなたはぼかしでそれを閉じる方法を見つけましたか?私はd.close()を実行するためにバインディング(ぼかし)を試みました。問題は、「カレンダーの使用」もぼやけとしてカウントされるため、日付を選択する前にカレンダーが終了することです。 – dabicho

+0

はい、私も同じ問題が見つかりましたが、まだ解決していません。あなたが新しい質問をしてここにリンクすることができれば、私はそれが役に立つと思う。プランカを作成してください。 –

3

<input ngbDatepicker #d="ngbDatepicker" (focus)="d.open()"> 

それとも、Datepicker

Datepicker in a popup例に従ってボタンクリックで日付ピッカーのトリガー toggleイベントを追加することができます
// Component 
@Component({ 
    selector: 'ngbd-datepicker-popup', 
    templateUrl: './datepicker-popup.html' 
}) 
export class NgbdDatepickerPopup { 
    model; 
} 

// HTML 
<div class="input-group"> 
    <input class="form-control" placeholder="yyyy-mm-dd" name="dp" [(ngModel)]="model" ngbDatepicker #d="ngbDatepicker"> 
    <div class="input-group-addon" (click)="d.toggle()" > 
    <img src="img/calendar-icon.svg" style="width: 1.2rem; height: 1rem; cursor: pointer;"/> 
    </div> 
</div> 
+0

日付形式を変更する必要があります。これはどうすればいいですか? –

+0

日付書式にはhttps://ng-bootstrap.github.io/#/components/datepicker – silentsod

+0

のNgbDateParserFormatterが必要ですが、まだ使用できません。非常に最小限のドキュメンテーション。助けてください。 –

関連する問題