폴리머를 사용하여 동적 폼을 만들고 싶습니다. 즉, 사용자가 "추가"버튼을 누를 때마다 폼에 새 필드가 추가됩니다. 또는 더 구체적으로는 paper-dropdown-menu
을 추가합니다. 모든 옵션은 ayax 호출을 통해 dom-repeat
에서 제공됩니다.폴리머로 바운드 데이터를 동적으로 생성합니다.
<div id="filterContainer">
<div class="flex rulesForm" id="filter1">
<paper-dropdown-menu name="rule1A" no-label-float>
<paper-listbox attr-for-selected="value" selected="{{filter1A}}" class="dropdown-content" id="thirdPartyFilter1A">
<template is="dom-repeat" items="{{rule1A}}">
<paper-item value="[[item]]">[[item]]</paper-item>
</template>
</paper-listbox>
</paper-dropdown-menu>
</div>
</div>
<paper-button raised on-tap="addFilterField">Add</paper-button>
<div>
를하고 JS에 :
이
내가 지금까지 한 일이다addFilterField: function() {
let dropdown = document.createElement('paper-dropdown-menu');
dropdown.name = "";
dropdown.noLabelFloat = true;
let listbox = document.createElement('paper-listbox');
listbox.class = "dropdown-content";
listbox.attrForSelected = "value";
listbox.selected = "{{filter1A}}";
let paperItem = document.createElement('paper-item');
paperItem.value = "[[item]]";
var itemNode = document.createTextNode('[[item]]');
paperItem.appendChild(itemNode);
listbox.appendChild(paperItem);
dropdown.appendChild(listbox);
console.log(dropdown);
filterContainer.appendChild(dropdown);
내 문제에 관한 데이터 바인딩 ... 내가 함께 createTextNode
를 사용하는 경우 [ [item]], 단순히 문서에 문자열로 쓰게됩니다. 이 문제를 해결할 수있는 방법이 있습니까? (또는 양식에 필드를 추가하는 더 쉬운 방법은?)