首页 文章

Angular 2 - ngModel未从datepicker更新

提问于
浏览
1

我有一个绑定到模型中的值的输入 .

<input type="text" class="form-control" [(ngModel)]="currentDate">

我有一个用于填充此输入的日期选择器 . 当通过datepicker选择一个值时,输入似乎不会更新模型,因为它没有在代码中向下发射管道 .

However ,如果我手动输入到输入字段,那么ngModel似乎确实会更新,因为管道会根据新值触发过滤 . 我已将'on change'处理程序绑定到输入,该输入在键入或使用datepicker时触发 .

$('#datepicker').datepicker().on('changeDate', function(e){
        //Fires on change
    })

有没有办法手动触发ngModel更改事件,还是有其他人知道更优雅的解决方案?

3 回答

  • 0

    使用datepicker自己的事件,我只能手动更新模型值 .

    AttachDateChangeHandler(): void {
        $('#datepicker').datepicker().on('changeDate', (e)=> {
            this.currentDate = e.date.***()
        })
    }
    

    感谢Madhu Ranjan提出的建议 .

  • 0

    使用Primeng日历非常有用https://www.primefaces.org/primeng/#/calendar

  • 1

    你可以这样做,触发Angular2的变化检测 .

    看到这个plunker

    setTimeout(() => {
        $('#myinput').val("changed..");
    
        var evt = new Event("input", {"bubbles":true, "cancelable":false});
    
        $('#myinput')[0].dispatchEvent(evt);
    
    }, 5000);
    

相关问题