tree: 1f68ccdb97d50960fe2a5e98bf71e14103460be0 [path history] [tgz]
  1. format.js
  2. index.js
  3. index.vue
  4. package.json
  5. README.md
  6. README_cn.md
packages/wxc-page-calendar/README.md

wxc-page-calendar

Full screen calendar component, support one-way, round-trip calendar selection, can display holidays and setting additional information.

Demo

    

Code Example

<template>
  <div class="wrapper">
    <div class="btn" @click="showCalendar">
      <text class="btn-txt">one-way</text>
    </div>

    <div class="btn btn-margin yellow" @click="showReturnCalendar">
      <text class="btn-txt">round-trip</text>
    </div>

    <div class="panel">
      <text v-if="currentDate" class="text">current date: {{currentDate}}</text>
    </div>

    <wxc-page-calendar :date-range="dateRange"
                       :animationType="animationType"
                       :selected-date="selectedDate"
                       :selected-note="selectedNote"
                       :is-range="isRange"
                       :minibar-cfg="minibarCfg"
                       :desc-list="descList"
                       @wxcPageCalendarBackClicked="wxcPageCalendarBackClicked"
                       @wxcPageCalendarDateSelected="wxcPageCalendarDateSelected"
                       ref="wxcPageCalendar"></wxc-page-calendar>
  </div>
</template>
<script>
  import { WxcPageCalendar } from 'weex-ui';
  export default {
    components: {
      WxcPageCalendar
    },
    data: () => ({
      animationType: 'push',
      currentDate: '',
      selectedDate: ['2017-06-23', '2017-06-30'],
      isRange: true,
      dateRange: ['2017-06-10', '2018-06-10'],
      selectedNote: ['dep', 'arr', 'round'],
      minibarCfg: {
        title: 'Select Date'
      },
      descList: [
        { date: '2017-06-23', value: '¥200' },
        { date: '2017-06-24', value: '¥200' },
        { date: '2017-06-25', value: '¥200' },
        { date: '2017-06-26', value: '¥200' },
        { date: '2017-06-27', value: '¥222' },
        { date: '2017-06-28', value: '¥341' },
        { date: '2017-06-29', value: '¥230' },
        { date: '2017-06-30', value: '¥2000' }
      ]
    }),
    methods: {
      wxcPageCalendarDateSelected (e) {
        this.selectedDate = e.date;
        this.currentDate = e.date;
      },
      wxcPageCalendarBackClicked () {
      },
      showCalendar () {
        this.isRange = false;
        setTimeout(() => {
          this.$refs['wxcPageCalendar'].show();
        }, 10);
      },
      showReturnCalendar () {
        this.isRange = true;
        setTimeout(() => {
          this.$refs['wxcPageCalendar'].show();
        }, 10);
      }
    }
  };
</script>

More details can be found in here

Api

PropTypeRequiredDefaultDescription
date-rangeArrayY[]date range
selected-dateArrayN[]default date select value
is-rangeBooleanNfalsewhether is range trip
selected-noteArrayN['开始', '到达', '往返']selected note
desc-listArrayN[{}]desc info
show-headerBooleanNfalsewhether show minibar in native
minibar-cfgObjectN{}minibar config
animation-typeStringNpushSupport model or push type
selected-cell-styleObjectN{}Cover the selected cell style
selected-text-styleObjectN{}Cover the selected text style

Event

// @wxcPageCalendarDateSelected="calendarDateSelect"  
// @wxcPageCalendarBackClicked="wxcPageCalendarBackClicked"  
// @wxcPageCalendarHide="wxcPageCalendarHide"