# MatchSiteItem 赛点列表

# 引入

import PressMatchSiteItem from '@tencent/press-plus/press-match-site-item/press-match-site-item';

export default {
  components: {
    PressMatchSiteItem,
  }
}

# 代码演示

# 基础用法

<PressMatchSiteItem
  v-for="(item, index) of siteList"
  :key="index"
  :site-item="item"
  @clickAddress="clickAddress"
  @click="click"
/>
function getMockData(length) {
  const siteItem = {
    labelName: '待开赛',
    prizePic: 'https://image-1251917893.file.myqcloud.com/HPJY_Gamesystem_2020/DZS_2C/show-prizes-demo.png?imageMogr2/thumbnail/!80x80r',
    childStageName: '淘汰赛',

    childName: '比赛名称',
    startMatchDateDesc: '3/2开赛',
    uTypeText: '微信',
    joinFuncDesc: '团体赛',
    joinNum: '666',
    childAddress: '线上',
    buttonText: '查看赛程',
  };

  const labelClassList = [
    'isLabelGray',
    'isLabelGreen',
    'isLabelOrange',
    'isLabelBlue',
  ];

  const uTypeTextList = [
    '微信',
    'QQ',
  ];
  const buttonClassList = [
    'isButtonPrimary',
    'isButtonDefault',
  ];

  return Array.from({ length }).map((_, index) => ({
    ...siteItem,
    [labelClassList[index % labelClassList.length]]: true,
    uTypeText: uTypeTextList[index % uTypeTextList.length],
    [buttonClassList[index % buttonClassList.length]]: true,
  }));
}


export default {
  data() {
    return {
      siteList: getMockData(10),
    }
  }
}

# API

# Props

参数 说明 类型 默认值
site-item 赛事信息 object -

# Events

事件名 说明 参数
click 点击卡片 -
clickAddress 点击地点 -

# SiteItem

siteItem 类型如下:

type ISiteItem = {
  labelName: string;
  isLabelGray?: boolean;
  isLabelGreen?: boolean;
  isLabelOrange?: boolean;
  isLabelBlue?: boolean;

  prizePic: string;
  childStageName: string;
  
  childName: string;
  
  startMatchDateDesc: string; // 开赛时间描述
  uTypeText: string; // 微信或者QQ
  joinFuncDesc: string; // 团队赛或者个人赛
  joinNum?: string;
  
  childAddress: string;
  
  buttonText: string;
  isButtonPrimary?: boolean;
  isButtonDefault?: boolean;
}
横屏
最后更新时间: 2024/9/11 16:29:58