UNPKG

@pluve/ace

Version:

一套React版本的 Taro UI 组件库

38 lines 2.26 kB
import React, { useState } from 'react'; import { View, ScrollView } from '@tarojs/components'; import { showToast } from '@tarojs/taro'; const Indexes = ({ animation = true, topKey = 'Top', list = [], onClick, children }) => { const [scrllViewId, setScrollViewId] = useState(''); // 菜单列表 const menuList = [topKey, ...list.map((listItem) => listItem.key)]; const showToastMsg = (message) => { showToast({ icon: 'none', title: message, mask: false, duration: 1500, }); }; return (React.createElement(View, { className: "ace-indexes" }, React.createElement(View, { className: "ace-indexes-menu" }, menuList.map((menu) => (React.createElement(View, { onClick: () => { if (topKey && menu === topKey) { showToastMsg(topKey); setScrollViewId('indexes_top'); } else { showToastMsg(menu); setScrollViewId(`ace-indexes-list-item-${menu}`); } }, className: "ace-indexes-menu-item", key: menu }, menu)))), React.createElement(ScrollView, { scrollIntoView: scrllViewId, scrollAnchoring: true, className: "ace-indexes-body", scrollY: true, scrollWithAnimation: animation }, React.createElement(View, { className: "ace-indexes-content", id: "indexes_top" }, children), React.createElement(View, { className: "ace-indexes-list" }, list.map((listItem) => (React.createElement(View, { className: "ace-indexes-list-item", key: listItem.key }, React.createElement(View, { className: "ace-indexes-list-item-title", id: `ace-indexes-list-item-${listItem.key}` }, listItem.title), listItem.items && (React.createElement(View, { className: "ace-indexes-list-item-body" }, listItem.items.map((item) => (React.createElement(View, { onClick: () => { if (onClick) { onClick(item); } }, className: "ace-indexes-list-item-body-item", key: item.name }, item.name)))))))))))); }; export default Indexes; //# sourceMappingURL=index.js.map