Create List components with keyboard support
npm i react-listview-keys --save
ListView=require'react-listview'
ListView
className:'list-view'itemClassName:'list-view__item'selectedItemClassName:'list-view__item--selected'items:@state.listItemsselectedItemId:@state.selectedListItemIdcollapsedItemIds:@state.collapsedListItemIdsonCollapseItem:@_handleCollapseListItemonExpandItem:@_handleExpandListItemonSelectItem:@_handleSelectListItemrenderItem: (itemId, parentItemIds= []) =>item=@_getItemById(itemId)
ifparentItemIds.length==0ifitem.children?.size>0
SimpleListItem
item: item
else
FoldableListItem
item: item
else
SimpleListSubItem
item: itemclassName- CSS class of the whole ListView componentitemClassName- CSS class of non-selected ListItemselectedItemClassName- CSS class of selected ListItemitems- immutable.List of items to renderselectedItemId-idof selected itemscollapsedItemIds- immutable.List ofids of collapsed parent itemsonCollapseItem- callback called when collapsing a parent itemonExpandItem- callback called when expanding a parent itemonSelectItem- callback called after click on an itemrenderItem- function that renders the item (passed as callback so apps can handle the rendering of the main content itself)
git clone git@github.com:avocode/react-listview.git
cd react-listview
npm install
Run tests:
npm test
- refactor logic - support deeper lists
- add shouldcomponentupdates
- improve tests
- rethink tabIndices
- add more examples
- add prop for last item skipping
