我正在尝试使用dom执行一个函数 - 如果在铁数据表中执行一个函数。我能够在不解析属性的情况下执行函数,但是当我解析函数中的项时将不会执行。
<data-table-column width="75px">
<template is="dom-if" if="[[_isSelected(item)]]">
<paper-icon-button icon="update"></paper-icon-button>
<paper-icon-button icon="delete" on-tap="_deletePackage"></paper-icon-button>
</template>
</data-table-column>
所以我试图运行函数_isSelected(item)但是这不会运行我的函数。
_isSelected: function(item) {
console.log("isSelected fired " + this.item.PackageName);
}
当我使用其他属性时,此功能可以正常工作,因此看起来像是项目的问题。有什么想法吗? TIA
答案 0 :(得分:0)
好的,现在我有时间回到这里。
属性item
是否未定义以?
item
如何设定?是通过项目列表中的{{item}}还是dom-repeat的一部分?
我认为项目中的PackageName
是您在列表中设置的内容吗?
一个建议是在properties
:
item: {
type: Object,
value = {}
}
和你的dom-if:
<template is="dom-if" if="[[item.PackageName]]">
基本上,你从一个空对象开始,所以如果你检查item.PackageName(因此返回undefined
),空项将返回false
。每当您更新项目时,属性PackageName
将更新(返回一些内容,这意味着true
)并且dom-if将重新呈现。
如果您可以在铁项目列表中取消选择,则需要重置项目。