0

Я использую полимерный элемент, разрушающий железо, внутри железного списка, как показано на примере гит-хаба sample link все работает нормально, ожидая, что режим развала. Получение ошибки при нажатии для переключения режима переключения. Uncaught TypeError: Не удается прочитать свойство 'открыт' в нульUncaught TypeError: Невозможно прочитать свойство 'open' of null; железный коллапс не открыт;

вар MOREINFO = document.getElementById ('более-инфо'); становится нулевой

<div id="scrollable-element" style="overflow: auto;"> 

     <iron-list id="_list" items="[]" as="person" scroll-target="scrollable-element" style="display: none"> 
      <template> 
       <div> 
        <paper-card> 
         <div class="card-content"> 
          <h1 class="feed_title">[[person.heading]]</h1> 

          <p class="feed_description">[[person.subheading]]</p> 
         </div> 
         <div class="card-actions"> 
          <paper-button class="button-blue"> Share</paper-button> 
          <paper-button class="button-blue"> Explore</paper-button> 

          <paper-icon-button 
            icon="hardware:keyboard-arrow-up" 
            title="more info" 
            onclick="_toggle()" 
            style="float:right;"> 
          </paper-icon-button> 

          <iron-collapse id="more-info" style="width:100%;"> 
           Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent enim ante, tempus 
           eget volutpat ac, cursus ac ante. Nulla facilisi. Praesent sed lacinia ligula. Donec 
           malesuada nisl eget quam iaculis, vel placerat justo cursus. 
          </iron-collapse> 

          <script> 
           function _toggle() { 
            var moreInfo = document.getElementById('more-info'); 
            var iconButton = Polymer.dom(event).localTarget; 
            iconButton.icon = moreInfo.opened ? 'hardware:keyboard-arrow-up' 
              : 'hardware:keyboard-arrow-down'; 
            moreInfo.toggle(); 
           } 
          </script> 

         </div> 
        </paper-card> 
       </div> 
      </template> 
     </iron-list> 
    </div> 

ответ

0

Я думаю, что вы, кажется, забывают, что железо-лист действует повторяющийся шаблон и так есть не только один элемент, который вы можете найти с этим идентификатором (само по себе не очень хорошая вещь, чтобы повторить же идентификатор снова и снова.

у меня была аналогичная проблема, пытаясь найти элемент в РОМ повторить шаблон, поэтому задал этот вопрос, а затем нашел ответ на следующий вопрос переполнения стека и ответ.

Finding the element associated with a particular instance of dom-repeat

Смежные вопросы