Nhảy tới nội dung

List

List giúp hiển thị dạng danh sách các ListItem, hay các Input với vai trò như một form

List Properties

PropTypeDefaultDescription
mediaListbooleanfalseKích hoạt dạng Media List
linksListbooleanfalseKích hoạt dạng Links List
simpleListbooleanfalseKích hoạt dạng Simple List
sortablebooleanfalseKích hoạt dạng Sortable List
sortableOppositebooleanfalseRenders sortable handler ở vị trí đối diện với vị trí mặc định
sortableTapHoldbooleanfalseCho phép sắp xếp item trong Sortable List bằng cách nhấn giữ và kéo thả. Cần đặt touch.tapHold: true khi khởi tạo app
sortableEnabledbooleanfalseCho phép sắp xếp trên Sortable List
sortableMoveElementsbooleanGhi đè lại sortable.moveElements global app parameter. Khi moveElements được kích hoạt sẽ sắp xếp lại HTML elemnt theo danh sách đã sắp xếp. Có thể vô hiệu hóa moveElements khi sử dụng các thư viện khác để thao tác DOM
formbooleanfalseRender list với <form> tag thay vì <div>. Sử dụng khi muốn tạo form.
inlineLabelsbooleanfalseRender label dưới dạng inline-style cho Form Inputs
noChevronbooleanfalseXóa bỏ "chevron" icon trên các item của Links List
chevronCenterbooleanfalseCăn giữa (theo chiều dọc) "chevron" icon trên các item thuộc media list
noHairlinesbooleanfalseXóa đường viền bao quanh List
noHairlinesMdbooleanfalseXóa đường viền quanh List đối với MD theme
noHairlinesIosbooleanfalseXóa đường viền quanh List đối với IOS theme
noHairlinesAurorabooleanfalseXóa đường viền quanh List đối với Aurora theme
noHairlinesBetweenbooleanfalseXóa các đường viền giữa các items
noHairlinesBetweenMdbooleanfalseXóa các đường viền giữa các items đối với MD theme
noHairlinesBetweenIosbooleanfalseXóa các đường viền giữa các items đối với iOS theme
noHairlinesBetweenAurorabooleanfalseXóa các đường viền giữa các items đối với Aurora theme
tabbooleanfalseThêm class "tab" khi sử dụng như một tab
tabActivebooleanfalseThêm class "tab-active" khi sử dung như một tab và làm tab này được kích hoạt
virtualListbooleanfalseKích hoạt chế độ Virtual List
virtualListParamsobjectObject chứa các Virtual List Parameters
loadingbooleanfalseBật chế độ loading list
skeletonEffectstringTên hiệu ứng loading: 'fade', 'pulse' hoặc 'wave'

List Events

<List/> events

EventPropDescription
tabShowonTabShowEvent sẽ triggered khi trạng thái của List Tab thay đổi thành visible/active
tabHideonTabHideEvent sẽ triggered khi trạng thái của List Tab thay đổi thành invisible/inactive
submitonSubmitEvent sẽ triggered khi người dùng submit form (Khi sử dụng form props)

<List/> Sortable events

EventPropDescription
sortableEnableonSortableEnableEvent sẽ triggered khi chế độ sắp xếp là enabled
sortableDisableonSortableDisableEvent sẽ triggered khi chế độ sắp xếp là disabled
sortableSortonSortableSortEvent sẽ triggered sau khi người dùng thực hiện xong việc sắp xếp element đến vị trí mới. event.detail là object chứa các properties: from và to với index number của list item

<List/> Virtual List events

EventPropDescription
virtualItemBeforeInsertonVirtualItemBeforeInsertEvent sẽ triggered trước khi item đựợc thêm vào virtual document fragment
virtualItemsBeforeInsertonVirtualItemsBeforeInsertEvent sẽ triggered sau khi DOM list hiện tại đựợc xóa và trước khi document mới được thêm
virtualItemsAfterInsertonVirtualItemsAfterInsertEvent sẽ triggered sau khi document fragment mới với các items được thêm
virtualBeforeClearonVirtualBeforeClearEvent sẽ triggered trước khi DOM list hiện tại bị xóa và được thay thế bởi document fragment mới

List Slots

List React component (<List/>) có một số slots giúp thực hiện tùy chỉnh elements:

  • before-list - element sẽ được chèn vào vị trí đầu tiên của list view và ngay trước <ul\> main list element
  • after-list - element sẽ được chèn vào vị trí cuối của list view và ngay sau <ul\> main list element
  • list - elements sẽ được chèn vào phía trong của <ul\> main list element

Virtual List Parameters

ParameterTypeDefaultDescription
elHTMLElement | stringList Block element Hoặc sử dụng CSS selector string của list block element
ulHTMLElement | stringList element <ul> được bao bởi List block.
createUlbooleantrueTự đông tạo <ul> element phía bên trong Virtual List block. Trường hợp false, virtual list có thể được sử dụng trên bất kỳ block element nào mà không có cấu trúc ul> li
itemsarrayMảng chứa list items
rowsBeforenumberSố lượng hàng (items) được hiển thị trước vị trí cuộn màn hình hiện tại. Theo mặc định, có giá trị bằng gấp đôi số hàng có thể hiển thị trên màn hình
rowsAfternumberSố lượng hàng (items)) sẽ được hiển thị sau vị trí cuộn màn hình hiện tại. Theo mặc định, có giá trị bằng số lượng hàng (items) có thể hiển thị trên màn hình
colsnumber1Số lượng items trên mỗi hàng. Không tương thích khi sử dụng Virtual List với dynamic height
heightnumber or function(item)Với kiểu number - chiều cao mỗi list item tính theo px. Với kiểu function function cần trả về chiều cao.
renderItemfunction(item)Function tùy ý cho phép render item HTLML. Có thể thay thế cho template parameter
renderExternalfunction(vl, renderParameters)Cho phép render DOM items sử dụng các phương pháp tùy chỉnh. renderParameters chứa object với các properties: fromIndex, toIndex, listHeight, topPosition, items
emptyTemplatestringList item template cho trường hợp list data rỗng
dynamicHeightBufferSizenumber1Cho phép kiểm soát buffer size trên Virtual Lists với chiều cao không cố định (Khi height parameter là function)
cachebooleantrueVô hiệu hóa hoặc cho phép DOM cache cho các list items đã render. Trong trường hợp này, mỗi item sẽ chỉ được hiển thị một lần và tất cả các thao tác tiếp theo sẽ được thực hiện với phần tử DOM.
updatableScrollbooleanIs the current device updates and handles scroll events during scroll. By default (if not specified) it is "false" for all iOS devices with iOS version less than 8.
setListHeightbooleantrueSẽ đặt chiều cao trên list block nếu true
showFilteredItemsOnlybooleanfalseChỉ hiển thị các items đã được lọc
scrollableParentElHTMLElement | stringVirtual list's scrollable parent. Nếu không được chỉ định, sẽ là <div className="page-content"> element
Searchbar
searchByItemfunction(query, item, index)unction tìm kiếm sử dụng bởi Searchbar, nhận vào search query, item và item index. Nếu items thỏa mãn điều kiện tìm kiếm trả về true, ngược lại trả về false false
searchAllfunction(query, items)Function tìm kiếm sử dụng bởi Searchbar, nhận vào search query và mảng tất cả items. Cần return mảng các indexes của các items thỏa mãn điều kiện tìm kiếm

Virtual List Methods & Properties

VirtualList instance cung cấp các methods và properties:

Properties
virtualList.itemsArray chứa list items
virtualList.filteredItemsArray chứa các items đã được lọc (sau khi sử dụng ".filterItems" method)
virtualList.domCacheObject với các dom items đã cached
virtualList.paramsParameters khơi tạo list
virtualList.elList block element
virtualList.$elZMP dom instance của list block element
virtualList.pageContentElParent "page-content" element
virtualList.$pageContentElZMP dom instance của parent "page-content" element
virtualList.currentFromIndexChỉ mục của item đầu tiên đang được render
virtualList.currentToIndexChỉ mục của item cuối cùng đang được render
virtualList.reachEndThuộc tính Boolean. Bằng true nếu chỉ mục được hiển thị cuối cùng là chỉ mục cuối cùng của tất cả items
Methods
virtualList.filterItems(indexes);Lọc virtual list bằng mảng các chỉ mục của items cần hiển thị
virtualList.resetFilter();Vô hiệu hóa filter và hiển thị tất cả items
virtualList.appendItem(item);Thêm item vào cuối virtual list
virtualList.appendItems(items);Thêm mảng các items mới vào cuối virtual list
virtualList.prependItem(item);Thêm item vào đầu virtual list
virtualList.prependItems(items);Thêm mảng các items vào đầu virtual list
virtualList.replaceItem(index, item);Thay thế item thông qua index
virtualList.replaceAllItems(items);Thay thế tất cả items với mảng các items mới
virtualList.moveItem(oldIndex, newIndex);Thay đổi vị trí của item
virtualList.insertItemBefore(index, item);Thêm một item vào trước một item với index được chỉ định
virtualList.deleteItem(index);Xóa item có index được chỉ định
virtualList.deleteItems(indexes);Xóa các items được chỉ định thông qua mảng các index
virtualList.deleteAllItems();Xóa tất cả items
virtualList.clearCache();Xóa cached DOM elements
virtualList.destroy();Hủy virtual list và gỡ tất cả events
virtualList.update();Cập nhật virtual list, bao gồm tính toán lại kích thước danh sách và hiển thị lại danh sách ảo
virtualList.scrollToItem(index);Cuộn đến một item cụ thể

Ví dụ List và Sortable List

Code demo fallback when rendering server side!

Ví dụ Virtual List

Code demo fallback when rendering server side!

Ví dụ về List skeleton

Code demo fallback when rendering server side!