当前位置: 首页 > news >正文

Vue3、AntDesign 季度多选

image

Picker.vue

<template><a-select v-model:value="value" :options="formattedMonths.map(item => ({ value: item }))" mode="multiple" placeholder="请选择季度" style="width: 100%"@change="change"><template #dropdownRender="{ menuNode: menu }"><div class="select-time" style="padding: 4px 8px; cursor: pointer" @mousedown="e => e.preventDefault()"><DoubleLeftOutlined color="#d7d7d7" @click="handleLeftButtonClick" /><div>{{ currentYear }}年</div><DoubleRightOutlined color="#d7d7d7" @click="handleRightButtonClick" /></div><a-divider style="margin: 4px 0" /><v-nodes :vnodes="menu" /></template></a-select>
</template>
<script>
import { DoubleLeftOutlined, DoubleRightOutlined, PlusOutlined } from '@ant-design/icons-vue'
import { computed, defineComponent, defineExpose, ref } from 'vue'
import dayjs from 'dayjs'let index = 0
export default defineComponent({props: {types: {type: String,required: true,default: 1}},components: {PlusOutlined,DoubleLeftOutlined,DoubleRightOutlined,VNodes: (_, { attrs }) => {return attrs.vnodes}},setup(options, { emit }) {// 使用 ref 创建响应式变量let currentYear = ref(dayjs().format('YYYY'))const formattedMonths = computed(() => {let monthNames = nullif (options.types === 1) {monthNames = ['一季度', '二季度', '三季度', '四季度']} else {monthNames = ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']}return monthNames.map(month => `${currentYear.value}年第${month}`)})const addItem = () => {console.log('addItem')// items.value.push(`New item ${index++}`);}const value = ref([])// 左切换按钮点击事件处理程序function handleLeftButtonClick() {currentYear.value = dayjs(currentYear.value).subtract(1, 'year').format('YYYY')}// 右切换按钮点击事件处理程序function handleRightButtonClick() {currentYear.value = dayjs(currentYear.value).add(1, 'year').format('YYYY')}function change(e) {emit('changeSelect', e)}defineExpose({value})return {value,formattedMonths,currentYear,handleLeftButtonClick,handleRightButtonClick,change}}
})
</script><style lang="scss">
.select-time {display: flex;padding: 3px 5px;box-sizing: border-box;align-items: center;justify-content: space-between;
}
</style>

使用

						<Picker  ref="pickerRef" :types="1"@changeSelect="onPickerChange" />
http://www.gsyq.cn/news/103909.html

相关文章:

  • GitHub组织账号管理Qwen3-32B项目协作开发流程
  • 告别手动“指挥家”!Agent Lightning实现全自动智能体编排,让多Agent协作快如闪电!
  • 2025年稻草漆行业十大品牌推荐:稻草漆防水怎样? - myqiye
  • 基于SpringBoot的社区互助系统
  • GraphRAG深度解析:超越传统RAG的智能检索技术,建议收藏学习
  • 2025年不锈钢管件优质厂家排名:实力厂商与源头厂家全解析 - 工业推荐榜
  • LobeChat前端性能优化建议:减少加载时间提升访问量
  • 2025年校服源头厂家权威推荐榜:校服定制/批发/企业,学生校服、冬季夏季秋冬款,匠心工艺与舒适面料口碑之选 - 品牌企业推荐师(官方)
  • 2025气体报警器厂家实力排行榜:东莞六家高灵敏度工业级安全守护品牌核心技术深度解析 - 品牌企业推荐师(官方)
  • AutoGPT提示词工程技巧:提升任务拆解准确性
  • 2025年稻草漆行业五大靠谱服务商推荐,专业艺术涂料施工与定 - mypinpai
  • 从数据湖到隐私湖:新一代数据架构思考
  • 博奥龙Hybridoma Feeder添加因子(含常见问题解答及客户评价)
  • [Windows] Aiseesoft屏幕录制 - 专业高清录屏工具
  • 2025 年 12 月砂尘试验箱实力厂家权威推荐榜:军标砂尘试验箱/防尘试验箱,严苛环境模拟与可靠品质深度解析 - 品牌企业推荐师(官方)
  • Qwen3-14B镜像下载官网:全能型中型大模型的部署首选
  • 2025年热门的淄博节能潜水泵/淄博消防潜水泵厂家选购指南与推荐 - 品牌宣传支持者
  • 2025年比较好的山东隔热条厂家推荐及选购参考榜 - 品牌宣传支持者
  • 2025年比较好的小型低温冷却液循环泵/低温冷却液循环泵选型实力厂家TOP推荐榜 - 品牌宣传支持者
  • 2025年本安型低速图像处理摄像仪直销厂家权威推荐榜单:视频分析服务器‌/矿鸿设备‌/矿用本安型低速图像处理摄像仪源头厂家精选 - 品牌推荐官
  • Java中高级面试题详解(十五):彻底搞懂 Spring Boot 启动流程与扩展点,别再只会写 main 方法!
  • 2025年靠谱的收银机扫描抢/收银机钱箱TOP品牌厂家排行榜 - 品牌宣传支持者
  • 2025年不锈钢管制造商年度排名:不锈钢管个性化定制与源头厂 - mypinpai
  • 【AI总结】Axure实战:解决导航栏母版跳转后选中状态丢失问题
  • Java 大视界 -- Java 大数据在智能教育虚拟仿真实验中的学生行为分析与实验效果评估
  • 2025年质量好的有机棉厂家最新推荐权威榜 - 品牌宣传支持者
  • 2025年比较好的直立棉床垫厂家推荐及采购参考 - 品牌宣传支持者
  • 大型点单收银系统+大型商城系统一体化大系统源码_OctShop
  • 股票历史分时BOLL数据之Python、Java等多种主流语言实例代码演示通过股票数据接口获取数据
  • 2025年靠谱的带材超声波清洗机用户好评厂家排行 - 品牌宣传支持者