我一直在使用ngx-bootstrap的datepicker监听onchange事件,以便每当用户从输入更改日期时都可以获取数据。
一切正常,除了bsValueChange
最初在页面加载时触发并返回Unhandled rejection SequelizeDatabaseError: invalid input syntax for type date: "Invalid Date"
之外。
这是我的日期选择器代码块
<input class="form-control" #drp="bsDaterangepicker" bsDaterangepicker [(ngModel)]="bsRangeValue" [bsConfig]="{ rangeInputFormat: 'MM/DD/YYYY' }"
(bsValueChange)="onValueChange($event)">
我也研究了this的github问题,但这对我也不起作用,因为ngModelChange
不再起作用。
我只希望bsValueChange
在整个页面加载后触发一次。
答案 0 :(得分:1)
使用onHidden事件代替bsvalueChange
答案 1 :(得分:0)
正在加载页面时,将调用onValueChange($event)
方法。我发现没有办法阻止这种情况,相反,您可以尝试这样的事情。
我也面临着同样的问题。最后,将其修复。 在方法外声明一个数字变量。
counter =0;
OnChangeValue($event){
this.counter = this.counter+1;
if(this.counter>2 && event.length!=0){
-- Proceed with your code --
}
快乐编码。
答案 2 :(得分:0)
我通过设置一个组件handleDatepickerEvents标志来解决此问题,该标志以false开始,并在ngAfterViewInit()中设置为true。
handleDatepickerEvents为false时,onValueChange()函数只需忽略更改。
答案 3 :(得分:0)
你说 ngModelChange 没有解决你的问题。我在 Angular 9 和 ngx-bootstrap 5.6.2 上遇到了同样的问题,从
(bsValueChange)="onDataFinalValueChange($event)"
到 (ngModelChange)="onDataFinalValueChange($event)"