关于前端:从01实践VuePress搭建组件库文档三

VuePress搭建组件库+文档(三)

成果:

步骤:

1.先写疾速抉择工夫的组件
docs/.vuepress/components/FastTimeButton.vue

<template>
<ButtonGroup>
  <Button 
    v-for="(item,index) in value"
    :key="index"
    @click="changeTime(item)"
    :style="lightValue === item ? 'color:#2b85ec' : ''"
    type="text">
      {{allTimeSelect[item]}}
  </Button>
</ButtonGroup>
</template>

<script>
import moment from 'moment';

export default {
  name: "FastTimeButton",
  props: {
    value: {
      // 展现哪些值 一天前 三天前 七天前...
      type: Array,
      default: () => [1,3,7,30,90,180]
    },
    defaultValue: {
      // 默认选中哪个
      type: Number,
      default: () => 1 // 1示意1天前
    },
    format: {
      //  返回的工夫格局
      type: String,
      default: () => 'YYYY-MM-DD'
    }
  },
  data() {
    return {
      lightValue: 1,
      allTimeSelect: {
        1:'昨天',
        3:'最近3天',
        7:'最近一周',
        30:'最近一个月',
        90:'最近三个月',
        180:'最近半年',
      }
    };
  },
  created() {
    this.lightValue = this.defaultValue;
    this.changeTime(this.defaultValue);
  },
  methods: {
    changeTime(item) {
      this.lightValue = item;
      this.$emit('clickTime', [moment().subtract(item, 'days').format(this.format),  moment().format(this.format)])
    }
  }
};
</script>

2.写文档
docs/info/fasttimebutton.md

md能够直写vue代码并且能够间接解析
2-1md里能够间接调用组件

<div class="test">
   <DatePicker
      type="datetimerange"
      format="yyyy-MM-dd"
      v-model="time"
      :value="time"
      placeholder="工夫"
      style="width: 200px">
  </DatePicker>
  <FastTimeButton  @clickTime="changeTime1"> </FastTimeButton>
</div>

<script>
  export default {
    data() {
      return {
        time: []
      }
    },
    methods: {
      changeTime1(value) {
        this.time = value;
      },
    },
  }
</script>

页面成果

2-2页面贴怎么调用的源码
须要再md把调用代码再写一点同时用`包起来

页面成果:

2-3写属性和办法

页面成果:

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理