当前位置: 首页 > 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.jsqmd.com/news/93414/

相关文章:

  • GitHub组织账号管理Qwen3-32B项目协作开发流程
  • 长文本战场“神仙打架”!腾讯SSA硬刚DeepSeek NSA,混合注意力机制更胜一筹!
  • 大模型微调不再难!11种核心方法全面解析,从入门到精通一文掌握
  • 视频汇聚平台EasyCVR打造地下车库智慧监控安防新体系
  • 告别手动“指挥家”!Agent Lightning实现全自动智能体编排,让多Agent协作快如闪电!
  • LabVIEW 携手 YOLOv8:全方位视觉处理的奇妙之旅
  • 大模型微调迎来“王炸”!AMD亮剑新范式,效果媲美全量微调,成本却大幅降低!
  • 2025年四川比较好的抖音代运营品牌排行,网络公关/小红书推广/SEO优化/GEO优化/网络推广/抖音推广抖音代运营公司推荐排行榜 - 品牌推荐师
  • 【干货收藏】大模型技术全解析:从基础到前沿,小白也能轻松入门
  • 2025年电动插板阀门制造商权威推荐榜单:手动插板阀门‌/手动插板闸门‌/气动插板阀门源头制造商精选 - 品牌推荐官
  • 医学里程碑!MM-GTUNets横空出世,攻克脑疾病预测难题,AI正式进军“大脑禁区”!
  • 【收藏】Java 程序员转行 AI 大模型:从零起步的就业指南与实战技巧
  • 2025 年 12 月冷热冲击试验箱厂家权威推荐榜:三厢式/小型精密设备,严苛环境模拟与可靠品质口碑之选 - 品牌企业推荐师(官方)
  • 2025年度总结:口服液灌装机源头厂家推荐/哪个牌子好/哪个公司好/哪家好? - 品牌推荐大师
  • 2025年合肥企业法律顾问服务排行榜,企业法律顾问哪个好?精 - 工业品牌热点
  • 2025年翅片式换热器供应企业TOP5权威推荐:甄选厂商助力 - 工业品牌热点
  • 基于SpringBoot的社区互助系统
  • 2025年稻草漆行业十大品牌推荐:稻草漆防水怎样? - myqiye
  • 2025天津换热器设备企业TOP5权威推荐:天津五洲同创团队 - 工业推荐榜
  • Fine-Grained Graph Rationalization【细粒度图合理化】
  • 域名怎么反查?
  • GraphRAG深度解析:超越传统RAG的智能检索技术,建议收藏学习
  • vLLM高性能推理镜像上线,一键部署主流开源大模型
  • 2025年天津空调制冷设备企业排名:天津五洲同创的市场影响力 - myqiye
  • 2025 高压氧舱十大品牌推荐:全球巨头共筑健康新生态 - 品牌推荐排行榜
  • 基于SpringBoot的实验管理系统的设计与实现
  • 2025年口碑好的防爆矿用干式变压器厂家推荐,矿用隔爆干式变 - 工业推荐榜
  • 建议收藏 | RAG技术新范式详解:从静态检索到Agent动态工具的演变之路
  • 详细介绍:国产信创操作系统银河麒麟常见软件适配(MongoDB、 Redis、Nginx、Tomcat)
  • 2025 年 12 月盐雾试验箱厂家权威推荐榜:复合/小型/智能/步入式等全品类深度解析与创新技术选购指南 - 品牌企业推荐师(官方)