[[item]]不工作铁数据表

时间:2018-01-16 15:24:51

标签: javascript polymer polymer-1.0

我正在尝试使用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

1 个答案:

答案 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将重新呈现。

如果您可以在铁项目列表中取消选择,则需要重置项目。