我动态创建了一些required
& auto-validate
中的<paper-input>
- d <template is="dom-repeat">
个元素。
当元素重复dom时,似乎不会发生自动验证。它只在元素模糊时发生。
一个例子:
<base href="https://polygit.org/components/">
<script src="webcomponentsjs/webcomponents-lite.min.js"></script>
<link href="polymer/polymer.html" rel="import">
<link href="paper-input/paper-input.html" rel="import">
<dom-module id="x-example">
<style>
:host {
display: block;
max-width: 320px;
}
</style>
<template>
<template is="dom-repeat" items="[[data]]">
<paper-input label="this input requires some text" value="{{item::input}}" required auto-validate error-message="needs some text!"></paper-input>
</template>
</template>
<script>
HTMLImports.whenReady(function() {
"use strict";
Polymer({
is: "x-example",
properties: {
data: {
type: Array,
value: [
"Hello World!",
null,
"Hello Globe!"
]
}
}
});
});
</script>
</dom-module>
<x-example></x-example>
&#13;
第二个<paper-input>
的值为null
,因此我希望在 dom-repeated,不只有在用户聚焦后才会模糊不清。
当元素重复dom时,有没有直接的方法来运行自动验证,即当元素被实例化/注册时(缺少更好的单词)?
注意:
我知道我可以手动调用validate()
元素,但我正在寻找更轻量级/声明性的方法。
现在我已经破解了行为:
splices
Feed dom-repeat
data
data
后,会在所有具有validate()
属性的DOM元素上手动调用[required]
。 同样,我正在寻找更轻量级的东西,因为我相信自动验证应该自动进行,而不需要为其编写额外的代码。