聚合物标签下的聚合物铁列表不可滚动

时间:2015-10-07 05:52:49

标签: polymer polymer-1.0

我们目前有一个带有3个标签的纸张标签视图,每个标签都加载了自己的铁页。在铁页面内,我们使用API​​提取元素列表。铁列表成功加载了api结果,但我们只能查看前几个元素。

其他元素被隐藏,因为我们无法滚动。我们如何使列表可滚动?随着列表视图的大小增加。选择特定选项卡时,动态加载列表。

<paper-drawer-panel id="paperDrawerPanel">
  <!-- Drawer Scroll Header Panel -->
  <paper-scroll-header-panel drawer fixed>

    <!-- Drawer Toolbar -->
    <paper-toolbar id="drawerToolbar">
        <span class="paper-font-title"><div class="logo"></div></span>
    </paper-toolbar>

    <!-- Drawer Content -->
    <paper-menu class="list" attr-for-selected="data-route" selected="[[route]]">
      <a data-route="home" href="/" >
        <iron-icon icon="home"></iron-icon>
        <span>Home</span>
      </a>

      <a data-route="todays-sminq" href="/todays-sminq" on-click="onDataRouteClick">
        <iron-icon icon="info"></iron-icon>
        <span>Today's sminq</span>
      </a>

      <a data-route="upcoming-sminq" href="/upcoming-sminq" on-click="onDataRouteClick">
        <iron-icon icon="mail"></iron-icon>
        <span>Upcoming sminq</span>
      </a>
      <a on-click="logOut">
        <iron-icon icon="user"></iron-icon>
        <span>Log Out</span>
      </a>
    </paper-menu>
  </paper-scroll-header-panel>

  <!-- Main Area -->
  <paper-header-panel main condenses keep-condensed-header>

    <!-- Main Toolbar -->
    <paper-toolbar id="mainToolbar" class="small">
      <paper-icon-button id="paperToggle" icon="menu" paper-drawer-toggle></paper-icon-button>
      <span class="flex"></span>

      <!-- Toolbar icons -->
      <paper-icon-button icon="refresh"></paper-icon-button>
      <paper-icon-button icon="search"></paper-icon-button>

      <!-- Application name -->
      <div class="middle middle-container center horizontal layout">
        <div class="app-name">Sminq</div>
      </div>

      <!-- Application sub title -->
      <!--<div class="bottom bottom-container center horizontal layout">-->
        <!--<div class="bottom-title paper-font-subhead">waiting is now fun</div>-->
      <!--</div>-->

    </paper-toolbar>

    <!-- Main Content -->
    <div class="content">
      <iron-pages attr-for-selected="data-route" selected="{{route}}">

        <section data-route="home" >
            <live-sminq ></live-sminq>
          <!--paper-material elevation="1">



          </paper-material>
          <paper-material elevation="1">
          </paper-material>

          <paper-material elevation="1" class="paper-font-body2">
          </paper-material-->

        </section>

        <section data-route="todays-sminq" id="sectiontodays" >
            <todays-sminq></todays-sminq>

            <!--paper-material elevation="1">
          </paper-material-->
        </section>

        <section data-route="sminq-info">
            <sminq-single
                  token_id ="{{params.id}}" token_number="{{params.no}}" user_name="{{params.name}}"
                  status_type="{{params.status}}"
                  user_mobile ="{{params.mobile}}"
                  queue_id ="{{params.queueId}}"
                  sminq_type="{{params.sminqType}}"
                  joinDate="{{params.date}}"
              >
            </sminq-single>
        </section>

        <section data-route="live-tokens"class="layout vertical fit">
          <live-tokens
                  queye_id="{{params.id}}" user_name="{{params.name}}">
          </live-tokens>
        </section>

        <section data-route="upcoming-sminq">
          <upcoming-sminq>
          </upcoming-sminq>
        </section>
        <section data-route="not-found">
          <paper-material elevation="1">
            <h2 class="page-title">Page Not Found</h2>
            <p></p>
          </paper-material>
        </section>
      </iron-pages>

    </div>
  </paper-header-panel>
</paper-drawer-panel>

这是我们的主要index.html,我们创建了单独的模块,用于加载选项卡和列表视图 该模块的代码附在

下面
<iron-ajax
  id="list"
  headers='{"Authorization": "xxxx","X-Vertical-Type": "xxx" }'
  content-type="application/json"
  url=""
  handle-as="json"
  method="GET"
  on-error="handleErr"
  debounce-duration="300"
  last-response="{{ liveQueues }}"
  on-response="ajaxResponse">
</iron-ajax>
<!--<template auto is="dom-if" if="{{loading}}"style="width:100%;">-->
<!--<paper-progress value="10" indeterminate="true" ></paper-progress>-->
<!--</template>-->
<div></div>
<span style="display:none;">[[selected]]</span>
<paper-spinner id="spinner" alt="Loading tokens numbers" ></paper-spinner>
<paper-tabs id="scrollableTabs" selected={{selected}} scrollable >
  <template is="dom-repeat" items="[[liveQueues]]" as="queue" >
    <paper-tab on-click="listLiveTokens" >[[queue.queueName]]</paper-tab>
  </template>
</paper-tabs>
<iron-pages selected="{{selected}}">
  <template is="dom-repeat" items="[[liveQueues]]" as="queue" >
    <paper-material elevation="1">
        <iron-list items="[[queueTokens]]" as="token">
          <template>
            <div>
              <div class="item" tabindex="0">
                <span class="avatar" >[[token.tokenNumber]]</span>
                <a href$="{{_getDetailsLink(token.tokenId,token.tokenNumber,token.userName,token.statusType,token.userMobile,token.joinDate)}}">
                  <div class="pad">
                    <div class="primary">[[token.userName]]</div>
                    <div class="secondary">[[token.userMobile]]</div>
                    <div class="secondary dim">[[token.notes]]</div>
                      <div class="secondary dim">[[token.joinTime]]</div>
                  </div>
                </a>
                <iron-icon icon$="[[iconForItem(sminq)]]"></iron-icon>
              </div>
            </div>
          </template>
        </iron-list>
    </paper-material>
  </template>
</iron-pages>
<iron-ajax
  id="tokens"
  headers='{"Authorization": "xxx","X-Vertical-Type": "xxxx" }'
  content-type="application/json"
  url=""
  handle-as="json"
  method="GET"
  on-error="tokenError"
  debounce-duration="300"
  last-response="{{ queueTokens }}"
  on-response="tokenResponse">
</iron-ajax>
<template is="dom-if" if="{{isQueueId}}">
  <sminq-add  queue_id="{{queueId}}"></sminq-add>
</template>

1 个答案:

答案 0 :(得分:0)

切换标签时,您可以实施IronResizableBehavior来调整列表大小(注意:它应该默认使用):

  

iron-list在通过resize事件收到通知时列出项目。任何实现IronResizableBehavior的元素都会触发此事件。

     

默认情况下,铁页,纸张标签或纸张对话框等元素会自动触发此事件。如果您手动隐藏列表(例如,使用display:none),您可能希望在列表再次可见后立即手动触发IronResizableBehavior或触发此事件。 e.g。

document.querySelector('iron-list').fire('resize');