Я пытаюсь загрузить большой файл JSON в мое представление, которое имеет более 1000 элементов, и я бы хотел, чтобы вид импортировался только 20 за раз. Каждый раз, когда я использую iron-list
, он отображает только 3 объекта, пока я не изменю размер окна, а затем сразу загружу все элементы в json.Работа с большим файлом JSON с железом-ajax, железным списком и загрузкой через порог прокрутки железа
Любая идея, как я могу отображать 20 элементов первой, а затем, когда я прокручиваю нижнюю часть, я получаю больше предметов?
Спасибо.
<dom-module id="fetch">
<template>
<style>
:host {
display: block;
}
paper-card{
margin-bottom: 1em;
padding: 1em;
}
</style>
<h2>Hello [[prop1]]</h2>
<content class="horizontal">
<paper-material>
<iron-ajax
auto
url="/some.json"
handle-as="json"
last-response="{{ajaxResponse}}"
debounce-duration="300"></iron-ajax>
<iron-scroll-threshold on-lower-threshold="loadMoreData" id="threshold">
<iron-list items="[[ajaxResponse]]" scroll-target="threshold">
<template>
<paper-card>
<div id="card-content">
<h4>User:{{item.val}}</h4>
<h4>{{item.val2}}</h4>
</div>
<div class="card-action">
<paper-button>Icon</paper-button>
<paper-button>Like</paper-button>
<paper-fab>Open</paper-fab>
</div>
</paper-card>
</template>
</iron-list>
</iron-scroll-threshold>
</paper-material>
</content>
</template>
<script>
Polymer({
is: 'fetch',
properties: {
prop1: {
type: String,
value: 'fetch'
},
}
});
</script>
</dom-module>
Я прошел через эту часть, но я хотел бы получить неопределенный на «огне», поэтому я полностью отказался от этой библиотеки на данный момент. Почувствовав, что он недостаточно стабилен для создания сложного приложения, когда основные компоненты несовместимы. – SinSync
просто дайте вашему контейнеру или «железному списку» явный размер, тогда вам не нужно запускать это событие. Если ваш 'iron-list' является частью другого элемента, вам нужно использовать' this. $$ ('iron-list') ' –