元素 属性 更改后 Iron-list 未更新
Iron-list not update after element property changed
我在更改项目后重新呈现 iron-list 时遇到问题 属性。
我需要 iron-list 重新渲染以应用新的 类 就像我推送或拼接项目时一样。
已经尝试了几乎所有方法(notifyPath、调整大小、_update、...),但仍然无法正常工作。
请帮忙:)
下面你可以找到一个jsfiddle来说明:
工作正常:
this.set('words.'+i+'.checked', true);
无效:
this.notifyPath('words.'+i+'.checked');
我查看了您的 jsfiddle 并进行了一些更改。立即尝试,看看这是否是您想要的。
我对纸质清单上的功能进行了更改,让它查看是否已在此处检查过,而不是在实际功能中检查过。
<iron-list id="list" items="{{words}}">
<template>
<paper-item class$='[[_computedClass(item.checked)]]'>
<div>Item: [[item.name]] checked: [[item.checked]]</div>
</paper-item>
</template>
</iron-list>
在函数中,这是我所做的:
_computedClass: function(e) {
//WHY IT DOES NOT RE-RENDER AFTER CLICK????
return (e) ? 'stuff_checked' : 'stuff_notchecked';
},
只需删除 .checked
,它现在就可以正常工作了。
我在更改项目后重新呈现 iron-list 时遇到问题 属性。
我需要 iron-list 重新渲染以应用新的 类 就像我推送或拼接项目时一样。
已经尝试了几乎所有方法(notifyPath、调整大小、_update、...),但仍然无法正常工作。
请帮忙:)
下面你可以找到一个jsfiddle来说明:
工作正常:
this.set('words.'+i+'.checked', true);
无效:
this.notifyPath('words.'+i+'.checked');
我查看了您的 jsfiddle 并进行了一些更改。立即尝试,看看这是否是您想要的。
我对纸质清单上的功能进行了更改,让它查看是否已在此处检查过,而不是在实际功能中检查过。
<iron-list id="list" items="{{words}}">
<template>
<paper-item class$='[[_computedClass(item.checked)]]'>
<div>Item: [[item.name]] checked: [[item.checked]]</div>
</paper-item>
</template>
</iron-list>
在函数中,这是我所做的:
_computedClass: function(e) {
//WHY IT DOES NOT RE-RENDER AFTER CLICK????
return (e) ? 'stuff_checked' : 'stuff_notchecked';
},
只需删除 .checked
,它现在就可以正常工作了。