Chuyển tới nội dung chính

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.items | Array chứa list items | | virtualList.filteredItems | Array chứa các items đã được lọc (sau khi sử dụng ".filterItems" method) | | virtualList.domCache | Object với các dom items đã cached | | virtualList.params | Parameters khơi tạo list | | virtualList.el | List block element | | virtualList.$el | ZMP dom instance của list block element | | virtualList.pageContentEl | Parent "page-content" element | | virtualList.$pageContentEl | ZMP dom instance của parent "page-content" element | | virtualList.currentFromIndex | Chỉ mục của item đầu tiên đang được render | | virtualList.currentToIndex | Chỉ mục của item cuối cùng đang được render | | virtualList.reachEnd | Thuộ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!