UNPKG

@pluve/ace

Version:

一套React版本的 Taro UI 组件库

24 lines 1.41 kB
/** * 高性能列表组件 author:cxl */ import React from 'react'; import { View, Text } from '@tarojs/components'; import VirtualList from '@tarojs/components/virtual-list'; const DefaultNoneData = () => (React.createElement(View, { className: "ace-flat-list-noneWrap" }, React.createElement(Text, null, "\u5F53\u524D\u65E0\u6570\u636E"))); const DefaultRenderItem = () => { }; const FlatList = ({ itemData = [], keyExtractor = () => '', renderSeparator = React.createElement(View, null), renderItem = DefaultRenderItem, renderNoneData = React.createElement(DefaultNoneData, null), contentH = 0, itemH = 0, }) => { const dataLen = itemData.length; const Row = React.memo(({ index, data }) => { const item = data[index]; return React.createElement(View, { key: keyExtractor(item) }, renderItem(item)); }); if (contentH > 0 && itemH > 0 && dataLen > 0) { return (React.createElement(VirtualList, { height: contentH, width: "100%", itemData: itemData, itemCount: dataLen, itemSize: itemH }, Row)); } return (React.createElement(View, { className: "ace-flat-list-wrap" }, dataLen === 0 ? (renderNoneData) : (React.createElement(View, null, itemData.map((item) => (React.createElement(View, { key: keyExtractor(item) }, renderItem(item), renderSeparator))))))); }; export default FlatList; //# sourceMappingURL=index.js.map