在特定元素上切换特定 class - 聚合物
toggle specific class on specific element - Polymer
我有一系列 paper-input
元素,每个元素都有一个 iron-icon
,最初是隐藏的,直到输入文本等
<paper-input id="one" class="one" on-input="doFunction">
<iron-icon suffix icon="clear" id="clearOne" class="clear"></iron-icon>
</paper-input>
<paper-input id="two" class="two" on-input="doFunction">
<iron-icon suffix icon="clear" id="clearTwo" class="clear"></iron-icon>
</paper-input>
有什么方法可以使用 JS 来实现吗?
我目前有以下JS:
doFunction : function(e) {
if (e.currentTarget.value != '') {
/* toggle the clear icon for that input only */
} else {
/* toggle the clear icon for that input only again */
}
试试这个方法!
doFunction : function(e) {
if (e.currentTarget.value != '') {
Polymer.dom(e.currentTarget).querySelector('iron-icon').classList.remove('clear')
} else {
Polymer.dom(e.currentTarget).querySelector('iron-icon').classList.add('clear')
}
}
您也可以使用 CSS(而不是 JavaScript)来完成此操作,使用仅当 [=14] 时自动设置为 true
的 <iron-icon>.hidden
属性=] 属性 为空:
<paper-input value="{{value1}}">
<iron-icon hidden$="[[!value1]]"></iron-icon>
</paper-input>
确保初始化绑定 属性 以便在附加时评估 <iron-icon>.hidden
属性的绑定:
Polymer({
// ...
properties: {
value1: {
type: String,
value: '' // initialize for data binding
}
}
});
我有一系列 paper-input
元素,每个元素都有一个 iron-icon
,最初是隐藏的,直到输入文本等
<paper-input id="one" class="one" on-input="doFunction">
<iron-icon suffix icon="clear" id="clearOne" class="clear"></iron-icon>
</paper-input>
<paper-input id="two" class="two" on-input="doFunction">
<iron-icon suffix icon="clear" id="clearTwo" class="clear"></iron-icon>
</paper-input>
有什么方法可以使用 JS 来实现吗?
我目前有以下JS:
doFunction : function(e) {
if (e.currentTarget.value != '') {
/* toggle the clear icon for that input only */
} else {
/* toggle the clear icon for that input only again */
}
试试这个方法!
doFunction : function(e) {
if (e.currentTarget.value != '') {
Polymer.dom(e.currentTarget).querySelector('iron-icon').classList.remove('clear')
} else {
Polymer.dom(e.currentTarget).querySelector('iron-icon').classList.add('clear')
}
}
您也可以使用 CSS(而不是 JavaScript)来完成此操作,使用仅当 [=14] 时自动设置为 true
的 <iron-icon>.hidden
属性=] 属性 为空:
<paper-input value="{{value1}}">
<iron-icon hidden$="[[!value1]]"></iron-icon>
</paper-input>
确保初始化绑定 属性 以便在附加时评估 <iron-icon>.hidden
属性的绑定:
Polymer({
// ...
properties: {
value1: {
type: String,
value: '' // initialize for data binding
}
}
});