添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
  • Home: https://mouday.github.io/mo-quarter-picker/
  • NPM: https://www.npmjs.com/package/mo-quarter-picker
  • Github: https://github.com/mouday/mo-quarter-picker
  • element-ui没有季节范围选择器,而字节跳动开源的UI库 arco.design ,只支持Vue3,奈何老项目是Vue2的,只能自己动手了

    用到的第三方库

    Vue2.js https://cn.vuejs.org/v2/guide/

    element-ui https://element.eleme.cn/#/zh-CN/component/installation

    momentjs http://momentjs.cn/

    在线 demo: https://mouday.github.io/mo-quarter-picker/dist/

    使用示例源码: https://github.com/mouday/mo-quarter-picker/blob/master/src/App.vue

    方式一:CDN 引入

    https://cdn.jsdelivr.net/npm/mo-quarter-picker/

    <!-- 样式文件 -->
    <link href="https://mouday.github.io/mo-quarter-picker/lib/mo-quarter-picker.min.css" rel="stylesheet">
    <!-- 核心文件 -->
    <script src="https://mouday.github.io/mo-quarter-picker/lib/mo-quarter-picker.min.js"></script>
    

    Hello world

    <!DOCTYPE html>
    <html lang="en">
        <meta charset="utf-8" />
        <title>mo-quarter-picker</title>
        <!-- element-ui样式 -->
          href="https://cdn.bootcdn.net/ajax/libs/element-ui/2.15.8/theme-chalk/index.min.css"
          rel="stylesheet"
      </head>
          季节范围选择器:mo-quarter-picker
        <div id="app">
          <mo-quarter-picker
            :value.sync="value"
            @on-change="handleChange"
          ></mo-quarter-picker>
        <!-- 引入依赖 -->
        <script src="https://cdn.bootcss.com/vue/2.6.10/vue.min.js"></script>
        <script src="https://cdn.bootcdn.net/ajax/libs/element-ui/2.15.8/index.min.js"></script>
        <script src="https://cdn.bootcdn.net/ajax/libs/moment.js/2.29.2/moment.min.js"></script>
        <script src="https://mouday.github.io/mo-quarter-picker/dist/mo-quarter-picker.min.js"></script>
        <script>
          const app = new Vue({
            el: "#app",
            data() {
              return {
                value: null
            methods: {
              handleChange(value) {
                console.log(value);
        </script>
      </body>
    </html>
    

    方式二:NPM

    npm i mo-quarter-picker -S
    

    main.js

    import Vue from "vue";
    import App from "./App.vue";
    import ElementUI from "element-ui";
    import "element-ui/lib/theme-chalk/index.css";
    import MoQuarterPicker from "mo-quarter-picker";
    Vue.use(ElementUI);
    Vue.use(MoQuarterPicker);
    new Vue({
      el: "#app",
      render: h => h(App)
    // 选中季节的背景色
    .quarter-picker__item--active .quarter-picker__item__label,
    .quarter-picker__item:hover .quarter-picker__item__label {
      background-color: var(--primary-color) !important;
    // 当前季节下的小圆点
    .quarter-picker__item__today:after {
      background-color: var(--primary-color) !important;
    

    mo-quarter-picker 2.0

    增加 周、月、季度、年范围选择器

    mo-date-range-picker
    mo-week-range-picker
    mo-month-range-picker
    mo-year-range-picker
    

    修改组件名

    mo-quarter-picker => mo-quarter-range-picker
    
    <!-- 月份 -->
    <mo-month-range-picker
          :value.sync="value"
          @on-change="handleChange"
    </mo-month-range-picker>
    <!-- 星期 -->
    <mo-week-range-picker
          :value.sync="value"
          @on-change="handleChange">
    </mo-week-range-picker>
    <!-- 年度 -->
    <mo-year-range-picker 
            :value.sync="value"
            @on-change="handleChange">
          </mo-year-range-picker>
    <!-- 日期范围选择器 -->
    <mo-date-range-picker 
          :type.sync="type"
          :week-value.sync="week_value"
          :month-value.sync="month_value"
          :quarter-value.sync="quarter_value"
          :year-value.sync="year_value"
          @on-value-change="handleValueChange"
          @on-type-change="handleTypeChange"
        ></mo-date-range-picker>