2016-02-18 4 views
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(); 
     } 
    }, 
+0

ли это исправить когда вы измените размер окна браузера? –

+0

Да, когда я изменю размер окна, он будет обновляться – Vishnu

ответ

0

Я думаю, вам нужно позвонить updateSizeForItem(item)https://elements.polymer-project.org/elements/iron-list#method-updateSizeForItem после обновления элемента (вид, скрыть, ...)

+0

Я уже пробовал, что все равно никаких изменений. – Vishnu

+0

Последняя идея. Вызовите [notifyResize] (https://elements.polymer-project.org/elements/iron-list#method-notifyResize) на самом железе. –