2017-02-18 26 views
7

Używam ListView z scrollToEnd, ale to nie działa, ale zadziałało dla scrollTo. Co powinienem zrobić, żeby sobie z tym poradzić?React Native ListView scrollToEnd to nie działa

enter image description here

enter image description here

+0

nie jestem pewien, że to będzie działa, ponieważ ListView nie musi renderować wszystkich elementów podczas rywalizacji w jest zamontowany. Nie ma również możliwości sprawdzenia, kiedy ListView jest gotowy do renderowania wszystkich elementów. AFAIK metoda 'scrollToEnd' może być używana z przyciskiem. – Eldelshell

+0

Czy pojawia się błąd, czy po prostu nic nie robi? – user1221780

+0

Również Android lub iOS? – user1221780

Odpowiedz

3

Istnieje obejście, zawinąć je w setTimeout tak:

componentDidMount() { 
    setTimeout(() => { 
    this.refs.dateList.scrollToEnd(); 
    }, 50); 
} 
+0

To jest ważny, ale dlaczego –

+0

Niestety, nie pamiętam, skąd wziąłem to obejście, ale mogę powiedzieć, że spędziłem wiele godzin zmagając się z tym błędem ... –

3

Spróbuj tego:

<ListView> 
    ref={ (ref) => this.scrollView = ref } 
    onContentSizeChange={() => {   
     this.scrollView.scrollToEnd({ animated: false }) 
    } } > 
</ListView> 
Powiązane problemy