Skip to content

fpi-el-quarter-picker 季度选择组件 beta

TIP

当前组件正在 beta 测试阶段

基础使用

通过时间设置当前选择季度

<template>
    <div class="rolling-test">
        <FpiElQuarterPicker ref="refC" v-model="quarterDate" @change="onChange" />
        <br>
        <br>
        <FpiElQuarterPicker v-model="quarterDate" size="large" @change="onChange" />
        <br>
        <br>
        <FpiElQuarterPicker v-model="quarterDate" size="small" @change="onChange" />
        <br>
        <br>
        <h4>所选时间</h4>
        <div>{{ showData }}</div>
        <h4>季度详情</h4>
        <div> {{ info }} </div>
    </div>
</template>

<script lang="ts" setup>
import dayjs from 'dayjs'
import { computed, onMounted, ref } from 'vue'
const quarterDate = ref(new Date())
const info = ref('')

const refC = ref<any>(null)

const showData = computed(() => {
    return dayjs(quarterDate.value).format('YYYY-MM-DD HH:mm:ss')
})
const onChange = (date: Date | null, detail: any) => {
    info.value = JSON.stringify(detail)
}
onMounted(() => {
    info.value = JSON.stringify(refC.value?.transformQuarterInfoByDate(quarterDate.value))
})
</script>
显示代码

属性

参数说明类型可选值默认值
v-modelv-model绑定值Date, StringDate, String-
popperClass弹窗的stylestringstring-
popperStyle播放周期时间CSSPropertiesCSSProperties{}
popperWidth弹窗的宽度Numbernumber284
inputClass输入框的样式StringString-
inputStyle输入框的styleCSSPropertiesCSSProperties{}
format输入框显示值的格式化StringStringYYYY年第q季度
placeholder输入提示StringString请选择季度
disabledDate禁止选择的季度FunctionFunction(date: { year: number startMonth: number endMonth: number q: string Q: string }) => !date
placeholder输入提示StringString请选择季度
clearable是否显示清楚值booleantrue/falsetrue
size输入框尺寸大小String'small'/'default'/'large''default'
valueFormat选择值的显示StringString第q季度

事件

事件名说明参数
update:modelValuevue3配合 v-model使用的事件(e: 'update:modelValue', date: Date/null): void
change季度选择修改(e: 'change', date: Date/null, detail: any): void

方法

方法说明参数
transformQuarterInfoByDate更新时间transformQuarterInfoByDate: (date?: Date) => ({ text: string(输入框显示字符); key: string; startMonth: number(季度开始月份); endMonth: number(季度结束月份); q: string(季度数字 1 2 3 4); Q: string(季度中文数字 一 二 三 四); year: number(所在年份); }),
typescript
defineExpose({
    transformQuarterInfoByDate: (date?: Date) => ({
        text: string; // 输入框显示字符
        key: string;
        startMonth: number; // 季度开始月份
        endMonth: number; // 季度结束月份
        q: string; // 季度数字 1 2 3 4
        Q: string; // 季度中文数字 一 二 三 四
        year: number; // 所在年份
    }),
})
defineExpose({
    transformQuarterInfoByDate: (date?: Date) => ({
        text: string; // 输入框显示字符
        key: string;
        startMonth: number; // 季度开始月份
        endMonth: number; // 季度结束月份
        q: string; // 季度数字 1 2 3 4
        Q: string; // 季度中文数字 一 二 三 四
        year: number; // 所在年份
    }),
})

贡献者:

大气-李国帝

fpi-component