Tôi không thể tìm ra cách sử dụng renderRow của thuộc tính ListView highlightRow
.Làm cách nào để gọi highlightRow của ListView.renderRow()?
Các ListView.renderRow Documentation bang ...
(hàngDữ liệu, sectionid, ROWID, highlightRow) => renderable
Takes a nhập dữ liệu từ các nguồn dữ liệu và id của nó và phải trả lại một renderable thành phần được hiển thị dưới dạng hàng. Theo mặc định dữ liệu là chính xác những gì đã được đưa vào nguồn dữ liệu, nhưng nó cũng có thể cung cấp các trình giải nén tùy chỉnh. ListView có thể được thông báo khi một hàng được đánh dấu bằng cách gọi hàm highlightRow. Các dấu phân tách ở trên và dưới sẽ bị ẩn khi một hàng được tô sáng. Trạng thái được đánh dấu của một hàng có thể được đặt lại bằng cách gọi highlightRow (null).
Tôi muốn kêu gọi sự chú ý đến dòng ...
ListView có thể được thông báo khi liên tiếp được nhấn mạnh bằng cách gọi highlightRow chức năng.
khi tôi console.log(rowData, sectionID, rowID, highlightedRow)
, tôi có thể thấy rằng highlightedRow là một chức năng với chữ ký sau đây ...
function(sectionID,rowID){
this.setState({highlightedRow:{sectionID:sectionID,rowID:rowID}});
}
được gọi là từ here in the source code (xem this.onRowHighlighted
) ...
<StaticRenderer
key={'r_' + comboID}
shouldUpdate={!!shouldUpdateRow}
render={this.props.renderRow.bind(
null,
dataSource.getRowData(sectionIdx, rowIdx),
sectionID,
rowID,
this.onRowHighlighted
)}
/>;
Có ai có thể cung cấp ví dụ về cách sử dụng highlightRow chính xác không?
@halib, tôi chắc chắn bạn đang đi đúng hướng, nhưng tôi không thể làm ví dụ của bạn hoạt động. Tôi đang đào sâu vào, nhưng bạn đã tình cờ có thể tự mình kiểm tra xem liệu nó có thực sự hoạt động không? –
BTW, tôi đặt một bản sao lên trên rnplay của nơi tôi ngay bây giờ. Nó sẽ là tuyệt vời nếu bạn muốn ngã ba nó và giúp tôi làm cho nó hoạt động https://rnplay.org/apps/FW4-Aw –
@ChrisGeirman, vấn đề là với chiều rộng phân cách. nó không thể được tính toán như chiều rộng của hàng và listview không được xác định. Thêm thứ gì đó như chiều rộng: 200; style cho ListView sẽ sửa nó: https: // rnplay.org/apps/Bs9wZQ – halilb