芝麻web文件管理V1.00
编辑当前文件:/home/freeclou/app.optimyar.com/backend/.cache/admin/src/components/Roles/Tabs/index.js
import React, { useState } from 'react'; import { Flex, Text, Padded } from '@buffetjs/core'; import PropTypes from 'prop-types'; import { LoadingIndicator } from 'strapi-helper-plugin'; import { useIntl } from 'react-intl'; import TabsWrapper from './TabsWrapper'; import Tab from './Tab'; const Tabs = ({ children, isLoading, tabsLabel }) => { const { formatMessage } = useIntl(); const [selectedTabIndex, setSelectedTabIndex] = useState(0); const handleSelectedTab = index => { if (index !== selectedTabIndex) { setSelectedTabIndex(index); } }; return (
{isLoading ? (
) : ( <>
{tabsLabel.map((tab, index) => (
handleSelectedTab(index)} >
{formatMessage({ id: tab.labelId, defaultMessage: tab.defaultMessage })}
))}
{children[selectedTabIndex]} > )}
); }; Tabs.defaultProps = { isLoading: false, }; Tabs.propTypes = { children: PropTypes.node.isRequired, isLoading: PropTypes.bool, tabsLabel: PropTypes.arrayOf( PropTypes.shape({ id: PropTypes.string.isRequired, defaultMessage: PropTypes.string.isRequired, labelId: PropTypes.string.isRequired, }) ).isRequired, }; export default Tabs;