2015-09-30 4 views
31

Как вы можете видеть в прилагаемом GIF, я не могу прокрутить список ListView. Когда вы отпускаете мышь, представление возвращается в исходное положение.ListView не может прокручивать

Я прочитал документацию и, похоже, прокрутка должна просто работать. Вот реализация render():

render: function(){ 
    return (
    <ListView 
     automaticallyAdjustContentInsets={false} 
     initialListSize={9} 
     dataSource={this.state.dataSource} 
     renderRow={this.renderTrack} 
     renderSectionHeader={this.renderSectionHeader}/> 
); 

enter image description here

ответ

37

Вашего ListView может быть на самом деле довольно небольшим, но не кажется, что способ сделать видимый перелив. Попробуйте установить flex: 1 или height: 587 в свой стиль стиля ListView.

+1

Установка высоты сделала трюк! Могу ли я спросить, почему вы выбрали 587? – jamesfzhang

+3

Ваш скриншот был 587px tall =). Более общее решение - использовать flex: 1 через вашу иерархию представлений до корня. – ide

+13

Использование только 'flex: 1' не исправить. Однако я не думаю, что могу просто установить статическую высоту, поскольку она должна быть совместима с разными размерами iPhone. EDIT: получается, что в родительском контейнере ListView не было «flex: 1», что и сделало трюк. – jamesfzhang

0

Это происходит из-за это свойство, я полагаю, у вас есть один только, может быть, добавить липкий заголовок для каждой строки ?:

renderSectionHeader функция

(sectionData, sectionID) => отображаемого

Если предоставлено, для этого раздела отображается липкий заголовок. Липкое поведение означает, что оно будет прокручиваться с содержимым в верхней части раздела до тех пор, пока оно не достигнет вершины экрана, после чего он будет придерживаться верха до тех пор, пока он не будет отодвинут от экрана следующей секцией заголовок.

21

Единственный раз, когда я видел это, когда contentContainerStyle установлен в flex: 1. Удалите флешку, если это так.

+2

Спасибо! Это исправило это для меня. – fundead

+0

Спасибо! смотрел вокруг на 30 минут ха-ха! – WilomGfx

8

flex:1 Родитель списка сделал трюк для меня.

+1

Работал как шарм. Этот ответ должен получить больше очков! –

+0

было бы здорово, если бы кто-нибудь мог это объяснить :) – roocell

+0

Не знаю почему, но работает для меня. – klvs

3

У меня была та же проблема, у меня была View упаковка ListView, я удалил внешний View, и теперь он работает так, как ожидалось.

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