【问题标题】:Dart + Polymer, how to bind to programmatically generated elements, textarea, select, optgroupDart + Polymer,如何绑定到以编程方式生成的元素、textarea、select、optgroup
【发布时间】:2015-04-29 00:55:24
【问题描述】:

我正在尝试创建一个表单 Polymer 组件,其中表单元素是动态生成的。我看过,到目前为止,绑定value 属性的唯一方法是使用.injectBoundHtml。这不适用于所有组件类型,我正在尝试绑定<textarea> 的值,这就是我得到的:

Removing disallowed attribute <TEXTAREA value="{{ results[ "comments" ] }}">

我的解决方法是添加:textareaID.addEventListener('change', updateValueMap)

我希望有人能告诉我为什么 value 不被允许,和/或是否有更好的方法来在 Polymer 中以编程方式分配绑定属性请:)!

感谢 Gunter 的建议,并通过了节点验证器:

var val = new NodeValidatorBuilder.common()
  ..allowElement('textarea', attributes:['value']);
this.injectBoundHtml(getElementStr(i), element:selP, validator:val);

【问题讨论】:

    标签: data-binding dart polymer


    【解决方案1】:

    Textarea 没有value 属性。 试试这个

    <textarea>{{results['comments']}}</textarea>
    

    有关消息Removing disallowed attribute 的更多信息,请参阅How to create shadow DOM programmatically in Dart?

    【讨论】:

    • 谢谢,但是&lt;textarea id='comments' &gt;{{ results[ 'comments' ] }}&lt;/textarea&gt; 在使用 injectBoundHtml 时不起作用。貌似只喜欢绑定属性,不喜欢绑定内容。
    • 我通过NodeValidatorbuilder var val = new NodeValidatorBuilder.common() ..allowElement('textarea', attributes:['value']); this.injectBoundHtml(getElementStr(i), element:selP, validator:val); 得到它的工作原理
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-10
    • 2022-11-27
    • 2015-06-04
    相关资源
    最近更新 更多