如果日期选择器不是日期对象,如何为日期选择器更新ng-model?

时间:2019-08-14 14:53:36

标签: angularjs bootstrap-4

当值不是日期对象时,ng-model不会更新值。例如,当我在输入中填写2时。该值未更新,并返回到先前的有效值。

试图添加基于ng-model的ng-change并将其转换为字符串。但是没有找到解决这个问题的方法。

<input 
    type="text"
    ng-model="$ctrl.dateEntry"
    ng-blur="$ctrl.updateDate()"
/>
$onInit() {
    this.datePicker = this.elmnt.children[0];

    // Set value
    if (this.datePicker.values.length) {
        this.dateEntry = new Date(this.datePicker.values[0].split('-').reverse().join('-'));
    } else {
        this.dateEntry = null;
    }
}


updateDate() {
    if (this.dateEntry) {
        const date = this.dateEntry.getDate();
        // set month. getMonth gives a single zero based number. Needs to be increased by 1 and a zero needs to be added in front if it's a single digit.
        const month = ('0' + (this.dateEntry.getMonth() + 1)).slice(-2);
        const year = this.dateEntry.getFullYear();

        this.elmnt.children[0].values[0] = `${date}-${month}-${year}`;
    }
}

当前,我将日期作为默认值,但是当我将其更改为无效值(如“ 22”)时。 Ng模型未更新。

即使没有有效的值/日期,如何使ng模型更新成为可能?

0 个答案:

没有答案