# GpProgress 赛事阶段

# 引入

import PressGpProgress from 'press-next/press-gp-progress/press-gp-progress';

export default {
  components: {
    PressGpProgress,
  }
}

# 代码演示

# 基础用法

<PressGpProgress
  :stage-list="stageList"
/>

<PressGpProgress
  :stage-list="stageListMore"
/>
const stageList = [
  {
    name: '线上海选赛',
    timeDesc: '11.21-12.15',
    isActive: true,
  },
  {
    name: '线下特色赛',
    timeDesc: '12.16-12.12',
    isActive: false,
  },
];

const stageListMore = [
  {
    name: '线上海选赛',
    timeDesc: '11.21-12.15',
    isActive: false,
  },
  {
    name: '线下特色赛',
    timeDesc: '12.16-12.12',
    isActive: false,
  },
  {
    name: '线下特色赛',
    timeDesc: '12.16-12.12',
    isActive: true,
  },
  {
    name: '线下特色赛',
    timeDesc: '12.16-12.12',
    isActive: false,
  },
  {
    name: '线下特色赛',
    timeDesc: '12.16-12.12',
    isActive: false,
  },
];

# API

# Props

参数 说明 类型 默认值
stageList 阶段列表 array -
interface Stage {
  name: string;
  timeDesc: number;
  isActive?: boolean;
}

interface Props {
  stageList: Array<{
    Stage
  }>
}

withDefaults(defineProps<Props>(), {
  stageList: () => ([]),
});

const emits = defineEmits<{
  clickStage: [item: Stage, index: number]
}>();

const clickStage = (stage, index) => {
  emits('clickStage', stage, index);
};