Polymer 内容高度更改时铁名单高度不更新

Polymer 内容高度更改时铁名单高度不更新,polymer,custom-element,Polymer,Custom Element,我有一个聚合物元素,其中显示了一系列项目。我正在用铁名单填充列表。每个列表项都包含一张纸卡,它隐藏了一些其他自定义元素,当我单击按钮时,将显示相应的视图。这部分的一切都很好 我遇到的问题是,当我显示自定义元素或隐藏该元素时,铁元素列表项的高度不会更新。当我显示该元素时,该元素将显示在其他视图的后面,当我隐藏时,将显示一个高度等于所显示视图高度的空白 下面是列表的代码 <div on-click="clicked" id="feedlist"> <iron-list items=

我有一个聚合物元素,其中显示了一系列项目。我正在用
铁名单
填充列表。每个列表项都包含一张
纸卡
,它隐藏了一些其他自定义元素,当我单击按钮时,将显示相应的视图。这部分的一切都很好

我遇到的问题是,当我显示自定义元素或隐藏该元素时,铁元素列表项的高度不会更新。当我显示该元素时,该元素将显示在其他视图的后面,当我隐藏时,将显示一个高度等于所显示视图高度的空白

下面是列表的代码

<div on-click="clicked" id="feedlist">
<iron-list items="{{feedList}}" as="item">
    <template>
        <card-element field="{{item.id}}" feed-id="{{item.id}}" feed-number="{{item.id}}" feed-title="{{item.title}}" feed-name="{{item.name}}" date="{{item.timeStamp}}"></card-element>
    </template>
 </iron-list>
即时消息隐藏和显示、文本输入、数据查看器和评论视图,或根据按钮单击一次完成所有操作

下面是切换data viewer的代码

toggleDataView: function (event) {
        event.stopPropagation();
        if (this.isFeed) {
            this.isDataView = false;
            this.isFeed = false;
        }
        this.isDataView = !this.isDataView;
        if (this.isDataView) {
            this.isComment = false;
            this.isNote = false;
            this.$.note.hide();
            this.$.comment.hide();
            this.$.dataViewer.show();
            this._showDragView();
        } else {
            this.$.dataViewer.hide();
            this._hideDragView();
        }
    },

我认为您需要在更新项目(查看、隐藏等)后调用
updateSizeForItem(项目)

我认为您需要在更新项目(查看、隐藏等)

后调用
updateSizeForItem(项目)
,这在调整浏览器窗口大小时会自动修复吗?是的,在调整窗口大小时,当你调整浏览器窗口的大小时,它会自动更新此修复程序?是的,当我调整窗口的大小时,它会自动更新。打电话给铁名单本身,最后一个主意。请访问铁名单本身。
toggleDataView: function (event) {
        event.stopPropagation();
        if (this.isFeed) {
            this.isDataView = false;
            this.isFeed = false;
        }
        this.isDataView = !this.isDataView;
        if (this.isDataView) {
            this.isComment = false;
            this.isNote = false;
            this.$.note.hide();
            this.$.comment.hide();
            this.$.dataViewer.show();
            this._showDragView();
        } else {
            this.$.dataViewer.hide();
            this._hideDragView();
        }
    },