2015-11-02 21 views
6

Tôi đang xây dựng ứng dụng Native React iOS. Tôi có một số nội dung kiểm tra và sau đó là một danh sách các mục bên dưới nó. Nếu tôi đặt cả nội dung văn bản và listview bên trong một scrollview listview does't hoạt động đúng (chỉ hiển thị một số mặt hàng) nhưng nếu tôi không đặt listview bên trong scrollview, listview cuộn nhưng nội dung văn bản vẫn bị khóa lên đầu màn hình. Làm cách nào để nội dung văn bản cuộn với chế độ xem danh sách?Làm thế nào tôi có thể đặt một ListView bên trong một ScrollView bằng cách sử dụng React Native iOS?

Dưới đây là một ví dụ về vấn đề của tôi:
https://rnplay.org/apps/GWoFWg

Trả lời

22

Bạn nên làm cho nội dung hàng đầu sử dụng ListView.renderHeader prop:

class SampleApp extends React.Component { 

    _renderHeader() { 
    // your header rendering code here 
    } 

    _renderRow() { 
    // your row rendering code here 
    } 

    render() { 
    return (
     <ListView 
     renderRow={this._renderRow} 
     renderHeader={this._renderHeader} 
     /> 
    ); 
    } 
} 

ListView sử dụng ScrollView trong nội bộ để cung cấp các hành vi di chuyển, vì vậy gói nó trong khác ScrollView là không cần thiết.

+0

Đó chính xác là những gì tôi cần. Cảm ơn! Đây là một ví dụ làm việc: https://rnplay.org/apps/GWoFWg –

+0

Nhưng tiêu đề này được cuộn ra khỏi màn hình nếu danh sách dài. Làm thế nào để làm cho dính tiêu đề? Sử dụng stickyIndices gây ra một hành vi rất xấu, nơi các hàng được cuộn ra khỏi màn hình được hiển thị bên dưới tiêu đề. – shrutim

+1

@shrutim nếu bạn không muốn tiêu đề của mình cuộn với ListView, đừng đặt nó trong ListView, chỉ hiển thị thành phần tiêu đề ở trên nó :) – jevakallio

Các vấn đề liên quan