2015-05-11 5 views
1

Я пытаюсь прокрутить простой основной список с помощью клавиатуры.
Это ядро-лист:Получение индекса выбранного элемента из основного списка-полимера

после list.html

<core-list data="{{posts}}" selectionEnabled="true" selection="{{selectedPost}}" on-core-select="{{selectedHandler}}" fit > 
    <template repeat> 
     <post-card post="{{model}}" index="{{index}}" ></post-card>  
    </template> 

Мне нужно, чтобы получить индекс выбранного пост-карты, увеличить его и передать его в SelectItem и scrollToItem методы основного списка.

Проблема, с которой я столкнулся, - это ... как мне получить индекс?
Я искал простой способ получить его как в основном списке, так и в выборе ядра без успеха.

К сожалению, атрибут основного списка «выбор» из основного списка - это данные текущей выбранной записи (поэтому я не могу получить от него атрибут индекса).

Я что-то упустил? Есть ли какое-либо решение, которое не связано с обработкой индекса непосредственно в компоненте после карты?

Спасибо.

ответ

0

Элемент основного списка - это основной выбор, который обрабатывает событие выбора. Вы можете попытаться использовать событие выбора ядра, которое вы могли бы получить индекс выбранного элемента. Так что это может быть, как это

selectedHandler: function(e, detail, sender) { 
    var i=this.$.selection.indexOf(detail.item); 
    this.scrollToItem(i+1); 
    } 
+0

я надеялся на более чистый раствор (например, _selectedIndex_ из _Core-selector_), но спасибо, что это решение работает тоже :) в конце концов, я просто сделал это: 'уаг SelectedIndex = это .posts.indexOf (this.post); ' –

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