index.tsx 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import { defineComponent, reactive } from 'vue';
  2. import styles from './index.module.less';
  3. import { NTabPane, NTabs } from 'naive-ui';
  4. import Courseware from './courseware';
  5. import Train from './train';
  6. import { usePrepareStore } from '/src/store/modules/prepareLessons';
  7. export default defineComponent({
  8. name: 'lesson-main',
  9. setup() {
  10. const prepareStore = usePrepareStore();
  11. return () => (
  12. <div class={styles['lesson-main']}>
  13. <NTabs
  14. animated
  15. defaultValue="courseware"
  16. paneClass={styles.paneTitle}
  17. justifyContent="center"
  18. paneWrapperClass={styles.paneWrapperContainer}
  19. onUpdate:value={(val: string) => {
  20. prepareStore.setTabType(val);
  21. }}>
  22. <NTabPane name="courseware" tab="课件">
  23. <Courseware />
  24. </NTabPane>
  25. <NTabPane
  26. name="train"
  27. tab="作业"
  28. v-slots={{ tab: () => <span id="lessons-4">作业</span> }}
  29. {...{ id: 'lessons-4' }}>
  30. <Train />
  31. </NTabPane>
  32. </NTabs>
  33. </div>
  34. );
  35. }
  36. });