0

ユーザーが変更した TimePicker の値を取得できません。私が得ているのは、コントロールに設定した元の値だけです。

これが私のコンポーネントテンプレートです:

<TabView [(ngModel)]="tabSelectedIndex" selectedColor="#FF0000" style="height:90%">
    <StackLayout *tabItem="{title: 'Time'}">
        <TimePicker #timePicker [(ngModel)]='model.time'></TimePicker>
    </StackLayout>
    <StackLayout *tabItem="{title: 'Date'}">
        <DatePicker #datePicker [(ngModel)]='model.date'></DatePicker>
    </StackLayout>
</TabView>
<button text="Done" (tap)="onDoneTap()"></button>

そして私のコンポーネントコード:

export class DateTimePickerComponent 
{
    public mDate: Date;
    public tabSelectedIndex: number;
    public model: any;

    constructor() 
    {
        this.mDate = new Date();
        this.model = {
            date: new Date(2014, 5, 13, 2, 24),
            time: new Date(2014, 5, 13, 2, 24)
        };
    }

    private onDoneTap()
    {
        this.mDate.setMinutes(this.model.time.getMinutes());
        this.mDate.setHours(this.model.time.getHours());

        this.mDate.setDate(this.model.date.getDate());
        this.mDate.setMonth(this.model.date.getMonth());
        this.mDate.setFullYear(this.model.date.getFullYear());  

        console.log(this.mDate);   
    }
}

これを構築するために、私はドキュメントを使用しました:

  • DatePicker - 日付プロパティ
  • TimePicker - 時間プロパティ

この例では、DatePicker は完全に機能し、2014 年 5 月 13 日に初期化され、変更するとコンソールに変更された値が表示されます。それで、私は TimePicker で何か間違ったことをしていますか?

注:IDを使用して時間と分のプロパティを読み取ろうとしましたが、成功しませんでした。常に同じ初期値 (2:24)

@ViewChild("timePicker") timePicker: ElementRef;
let datePickerView = <TimePicker>this.timePicker.nativeElement;
console.log(datePickerView.hour);  //  2
console.log(datePickerView.minute) // 24
4

2 に答える 2

0

ここに落ちるかもしれない人のために:

この問題について Github でバグが公開されました。【こちらをご覧ください】 .

于 2016-10-21T13:28:56.367 に答える