0

我陷入了一种奇怪的情况,即我的数据在将其设置为对象时丢失了。将尝试详细说明情况。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":"02/22/2019","premium":0,"enrollmentStatus":"INFORCE","policyId":"test21331","productType":null,"stEnrollmentId “:无效的}]

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

"{"id":21869,"premium":0,"enrollmentStatus":"INFORCE","policyId":"test21331","productType":null,"stEnrollmentId":null}"

经过调试了解后,评估下面的代码后它的损失值。

 this._setProperty(property, value);    

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

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

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

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

4

2 回答 2

1

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

于 2018-02-21T18:31:30.320 回答
1

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

于 2018-04-11T11:30:50.287 回答