返回

时间:2018-02-21 17:58:59

标签: polymer vaadin polymer-2.x vaadin-date-picker vaadin10

我遇到了一个奇怪的情况,我的数据在设置为对象时丢失了。 将尝试详细说明情况。     this.tempRenewals = this.findById(this.renewals,'id',21869);

findById(arr,searchBy,val){
    if(!val){
       return {};
    }
    if(arr){
       return arr.find(x => x[searchBy] == val);                    
    }
}

续订对象的价值

  

[{ “ID”:21869 “benefitEndDate”: “2019年2月22日”, “优质”:0, “enrollmentStatus”: “INFORCE”, “策略ID”: “test21331”, “productType”:空“stEnrollmentId”:空}]

在评估findById之后,我得到未定义的日期值。 我在tempRenewals中得到的值低于。

  

“{” ID “:21869,” 优质 “:0,” enrollmentStatus “:” INFORCE “ ”策略ID“: ”test21331“, ”productType“:NULL, ”stEnrollmentId“:NULL}”

调试结束后,评估下面代码后的丢失值。

 this._setProperty(property, value);    

在property-accessors.html(polymer \ lib \ mixins \ property-accessors.html)中, 它在内部被称为。

我正在使用与vaadin-date-picker的双向绑定,这实际上是导致问题。

<vaadin-date-picker value="{{tempRenewals.benefitStartDate}}"></vaadin-date-picker>

但我无法确定如何解决它。

2 个答案:

答案 0 :(得分:1)

仅当this._setProperty(property, value);属性定义为property时,才使用readOnly的方式。因此,如果要设置具有值的属性。尝试使用this.set(property, value);

答案 1 :(得分:1)

该问题是由于日期格式不正确“benefitEndDate”:“02/22/2019”造成的。 Vaadin-date-picker 无法识别此格式的日期,导致其设置空值,从而清除该值,因为它是双向绑定。