我使用Polymer生成注册表单,部分表单可以根据用户输入数据重复。表单的这一部分有一个带有受控值列表的字段,所以我尝试了纸张下拉菜单。但是,当我使用cloneNode()重复表单的这一部分时,值不会显示在重复的表单部分中。使用数据列表时,值显示在克隆节点中。有没有办法在克隆节点中使用纸张下拉菜单或以其他方式重复此表单部分?
以下是纸张下拉菜单代码:
<paper-dropdown-menu label="HTTP Method" name="httpMethod" required>
<paper-menu name="select-values" class="dropdown-content">
<paper-item>GET</paper-item>
<paper-item>PUT</paper-item>
<paper-item>POST</paper-item>
<paper-item>DELETE</paper-item>
</paper-menu>
</paper-dropdown-menu>
这是datalist代码:
<input list="httpMethod" name="HTTP Method" label="HM Test">
<datalist id="httpMethod">
<option value="GET">
<option value="PUT">
<option value="POST">
<option value="DELETE">
</datalist>
以下是克隆节点的方法:
repeatDiv: function() {
var div = document.getElementById('myDiv');
clone = div.cloneNode(true);
clone.id = "some_id";
document.getElementById("myDiv").parentNode.appendChild(clone);
}
答案 0 :(得分:0)
我无法将上面的各种代码片段连接在一起以了解您正在做什么,但我怀疑您在将元素附加到DOM和克隆代码之间可能存在时间问题。
为什么不使用循环标记副本而不是克隆代码。或者如果不是dom-repeat,而只是一个副本,那么dom-if。然后,您可以使用数据绑定和控制绑定的数据来控制dom的外观。