自定义元素中的聚合物 IronFormElementBehavior
Polymer IronFormElementBehavior in custom element
我正在使用自定义日期选择器(https://github.com/bendavis78/paper-date-picker)。它工作正常,但我想做的是将其绑定到纸质输入,因此每当单击输入时,对话框都会显示。我通过创建自定义元素来做到这一点。我现在的问题是,我需要铁形式的这个元素,所以我可以将日期与 ajax 请求一起发送。我发现我需要我的自定义元素来扩展Polymer.IronFormElementBehavior,但我找不到任何关于如何实际执行此操作的文档。该示例只是将其拍打在常规输入元素上,因此那里没有有用的上下文。这是我尝试实现该行为的自定义元素:
<link rel="import" href="../../vendor/iron-form-element-behavior/iron-form-element-behavior.html">
<dom-module id="datepicker">
<template>
<style>
</style>
<paper-input id="input" label="[[label]]" on-tap="openDatePicker" value="{{inputValue}}">
<iron-icon icon="date-range" prefix></iron-icon>
</paper-input>
<paper-dialog id="datePickerDialog" class="paper-date-picker-dialog" name="dumb" modal on-iron-overlay-closed="_onDialogClosed">
<paper-date-picker id="datePicker"></paper-date-picker>
<div class="buttons">
<paper-button dialog-dismiss>Cancel</paper-button>
<paper-button dialog-confirm>OK</paper-button>
</div>
</paper-dialog>
</template>
</dom-module>
<script>
Polymer
({
is: "datepicker"
, behaviors:
[
Polymer.IronFormElementBehavior
]
, properties:
{}
, ready: function ()
{
this.$.name = this.name;
}
// Custom functions //
, _onDialogClosed: function(event)
{
if (event.detail.confirmed)
{
var date = new Date(this.$.datePicker.date);
this.inputValue = moment(date).format("LL");
this.$.value = this.inputValue;
}
}
, openDatePicker: function()
{
this.$.datePickerDialog.open();
}
});
但是,我无法让日期值显示在帖子数据中。该行为具有名称和值属性,我觉得我需要做的就是将它们与我的纸质输入联系起来,但这似乎没有任何作用。
有没有人真正成功地实现了这种行为?我错过了什么吗?
我遇到了同样的问题。属性名称"值"是特殊的。
铁输入添加镜像值的绑定值属性 属性,并可用于双向数据绑定。绑定值将 如果通过用户输入或脚本更改它,则通知它。
查看文档
当前您正在使用属性"输入值"。这应该更改为"值"。
您的自定义元素需要:
- 在初始定义中设置
value
属性 -
将更改时的代码更新为
this.value
而不是this.inputValue
聚合体({ 是:"日期选择器"
, behaviors: [ Polymer.IronFormElementBehavior ] , properties: { value : { type: String, value: "Default value" } } , ready: function () { this.$.name = this.name; } // Custom functions // , _onDialogClosed: function(event) { if (event.detail.confirmed) { var date = new Date(this.$.datePicker.date); // Update this to just "value" this.inputValue = moment(date).format("LL"); this.$.value = this.inputValue; } } , openDatePicker: function() { this.$.datePickerDialog.open(); }
});
相关文章:
- 用于搜索的聚合物嵌套绑定
- 聚合物0.5.5:核心列表中的条件模板和/或模板动态参考
- Rubaxa可与聚合物进行排序/拖放不起作用,具体取决于显示器:
- 如何在模板聚合物中使用元素函数
- 聚合物dom重复问题
- 聚合物是一个框架而不是一个库.如何模块化地使用web组件
- 聚合物铁形式验证至少选中一个复选框
- 玻璃鱼服务器和聚合物
- 聚合物:在不同的视图模型中多次使用元素
- 聚合物-dom重复的起始指数
- 聚合物绑定条件属性和求值属性
- 如何动态创建聚合物元素
- AngularJS+IE 11+聚合物=ng模型未更新
- 如何使用javascript独立地为聚合物自定义元素的每个实例的lightdom设置样式
- 镀铬延长件内部的聚合物纸按钮不起作用
- 造型:主机的聚合物元素与Javascript
- 在Firefox上使用聚合物的javascript依赖关系的HTML导入困难;Safari
- yeoman generator聚合物的web组件测试失败
- 聚合物+流星,在火焰#每个循环中,无法将对象传递到聚合物网组件
- 聚合物-如何从<a>标签