index.tsx 960 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import { PageContainer } from '@ant-design/pro-layout';
  2. import { observer } from '@formily/reactive-react';
  3. import { model } from '@formily/reactive';
  4. import Point from '../components/Point';
  5. import Device from '../components/Device';
  6. import Channel from '../components/Channel';
  7. const dataModel = model<{
  8. tab: string;
  9. }>({
  10. tab: 'channel',
  11. });
  12. export default observer(() => {
  13. const list = [
  14. {
  15. key: 'channel',
  16. tab: '通道',
  17. component: <Channel type={true} />,
  18. },
  19. {
  20. key: 'device',
  21. tab: '采集器',
  22. component: <Device type={true} />,
  23. },
  24. {
  25. key: 'point',
  26. tab: '点位',
  27. component: <Point type={true} />,
  28. },
  29. ];
  30. return (
  31. <PageContainer
  32. tabList={list}
  33. tabActiveKey={dataModel.tab}
  34. onTabChange={(key: string) => {
  35. dataModel.tab = key;
  36. }}
  37. >
  38. {list.find((item) => item.key === dataModel.tab)?.component}
  39. </PageContainer>
  40. );
  41. });