ant-design-vue/components/date-picker/demo/mode.md

1.2 KiB

#### 受控面板 通过组合 `mode` 与 `onPanelChange` 控制要展示的面板。 #### Controlled Panels Determing which panel to show with `mode` and `onPanelChange`.
<template>
  <div>
    <a-date-picker
      :mode="mode1"
      showTime
      @openChange="handleOpenChange1"
      @panelChange="handlePanelChange1"
    />
    <br />
    <a-range-picker
      :placeholder="['Start month', 'End month']"
      format="YYYY-MM"
      :value="value"
      :mode="mode2"
      @panelChange="handlePanelChange2"
      @change="handleChange"
    />
  </div>
</template>
<script>
  export default {
    data() {
      return {
        mode1: 'time',
        mode2: ['month', 'month'],
        value: [],
      };
    },
    methods: {
      handleOpenChange1(open) {
        if (open) {
          this.mode1 = 'time';
        }
      },
      handleChange(value) {
        this.value = value;
      },
      handlePanelChange1(value, mode) {
        this.mode1 = mode;
      },
      handlePanelChange2(value, mode) {
        this.value = value;
        this.mode2 = [
          mode[0] === 'date' ? 'month' : mode[0],
          mode[1] === 'date' ? 'month' : mode[1],
        ];
      },
    },
  };
</script>