1

アイテムのリストが表示されるこのポリマー要素があります。リストに を入力していiron-listます。各リスト項目には、paper-card他のいくつかのカスタム要素を非表示にする が含まれています。ボタンをクリックすると、対応するビューが表示されます。この部分まではすべて正常に動作しています。

私が抱えている問題は、カスタム要素を表示するか、要素を非表示にすると、鉄のリスト項目の高さが更新されないことです。要素を表示すると、要素は他のビューの背後に表示され、非表示にすると、表示されたビューと同じ高さの空白が表示されます。

以下はリストのコードです。

<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>

このためのコードcard-elementは以下のとおりです

 <div class="content" id="content">
                <text-input id="note" type="1" note="{{response.note}}" feed-id="[[feedId]]"></text-input>
                <data-viewer id="dataViewer" plugin-data="{{response.data}}" feed-id="[[feedId]]" default-view="gridView" parent="feed"></data-viewer>
                <comment-view id="comment" comments="{{response.comment}}" feed-id="[[feedId]]"></comment-view>
            </div>

ボタンのクリックに応じて、非表示と表示、テキスト入力、データビューアー、コメントビュー、またはすべてを一度に表示します。

以下は、データビューアを切り替えるためのコードです。

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();
        }
    },
4

1 に答える 1