Polymer 如何将值传递给需要字符串的纸张日期选择器属性?
我试图在我的元素中使用。 如何将值传递给图纸日期选择器的“日期”属性Polymer 如何将值传递给需要字符串的纸张日期选择器属性?,polymer,Polymer,我试图在我的元素中使用。 如何将值传递给图纸日期选择器的“日期”属性 <!-- This is working: --> <paper-date-picker date="2000/1/21"></paper-date-picker> <!-- This is NOT working: Inside <my-birthdate birthdate="1977/1/2"></my-birthdate> --> <
<!-- This is working: -->
<paper-date-picker date="2000/1/21"></paper-date-picker>
<!-- This is NOT working:
Inside <my-birthdate birthdate="1977/1/2"></my-birthdate> -->
<paper-date-picker date='{{birthdate}}'></paper-date-picker>
下面是一个例子。在查看了日期选择器的源代码后,它不能很好地处理文本。基本上,您必须添加一个观察者,将值转换为日期。另外,从选择器中删除生日。这里有一个简单的例子
<polymer-element name="my-birthdate" attributes="birthdate">
<template>
birthdate = {{birthdate}}
<paper-date-picker id="picker"></paper-date-picker>
</template>
<script>
Polymer("my-birthdate", {
birthdateChanged: function (oldValue, newValue) {
if (newValue)
this.$.picker.date = new Date(newValue);
}
});
</script>
</polymer-element>
请记住,我没有错误检查新值。。。您必须这样做。属性中的值始终是字符串。如果要将属性字符串转换为其他类型,则必须提示所需的类型 我们希望生日是一个日期。如果我们这样更改定义:
<script>
Polymer({
birthdate: new Date()
});
</script>
然后Polymer知道如何将1977/1/2转换为日期对象
请记住,此处的绑定与上面的不同:
在本例中,我们要求Polymer将paper-date-picker.date属性直接绑定到birthdate属性。我们不需要遍历属性,因为这样我们就必须转换为字符串,然后再转换回来,这会大大降低速度
纸质日期选择器不支持使用生日中的字符串值生成日期。因此,当直接使用纸质日期选择器而不是通过属性时,生日必须是日期值