尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

vue3 + antd +ts cron 选择器使用

vue3 + antd +ts  cron 选择器使用
📅 发布时间:2026/6/19 1:17:09

https://github.com/shiyzhang/shiyzhang-cron

shiyzhang-cron组件

使用方法:

  1. npm i shiyzhangcron 或 pnpm i shiyzhangcron
  2. 给ts添加类型声明文件
    • 在项目根目录下创建 types 文件夹
    • 在 types 文件夹中创建 shiyzhangcron.d.ts 文件
    • 添加以下内容
      // types/shiyzhangcron.d.ts
      declare module 'shiyzhangcron';
  3. 使用

    <script setup lang="ts">import { EasyCronInner } from 'shiyzhangcron';import 'shiyzhangcron/dist/style.css';</script><template><divclass="fixed inset-0 z-50 flex items-center justify-center"><EasyCronInnerinput-area="true"/></div>
    </template>

    Attributes

    参数说明类型默认值
    model-value / v-model 绑定值 string -
    disabled 是否禁用 boolean false
    hideSecond 是否显示秒 boolean false
    hideYear 是否显示年(秒不显示时会显示年) boolean false
    inputArea 是否显示下面输入区 boolean false

    Events

    事件名说明类型
    change 仅当 modelValue 改变时 Function(e)
    封装弹窗组件
    <script setup lang="ts">
    import { computed, ref, watch } from 'vue';import { Button, Modal } from 'ant-design-vue';
    import { EasyCronInner } from 'shiyzhangcron';import 'shiyzhangcron/dist/style.css';interface Props {visible: boolean;value: string;title?: string;
    }const props = defineProps<Props>();
    const emit = defineEmits(['update:visible', 'confirm', 'cancel']);const innerValue = ref(props.value);watch(() => props.value,(v) => {innerValue.value = v;},
    );const isVisible = computed(() => props.visible);const onCancel = () => {emit('update:visible', false);emit('cancel');
    };const onOk = () => {emit('confirm', innerValue.value);emit('update:visible', false);
    };const onCronChange = (v: string) => {innerValue.value = v;
    };
    </script><template><Modal:open="isVisible"@update:open="(v) => emit('update:visible', v)":title="title || 'Cron 配置'"width="860px":footer="null"destroy-on-close@cancel="onCancel"><EasyCronInnerv-model:value="innerValue"input-area="true"@change="onCronChange"/><div class="mt-4 flex items-center justify-between"><div>当前选择: {{ innerValue }}</div><div class="space-x-2"><Button @click="onCancel">取消</Button><Button type="primary" @click="onOk">确定</Button></div></div></Modal>
    </template>

    使用

    <script setup lang="ts">
    import { defineAsyncComponent, ref } from 'vue';import 'shiyzhangcron/dist/style.css';const CronPickerModal = defineAsyncComponent(() => import('./CronPickerModal.vue'),
    );const easyCronInnerValue = ref('* * * * * ? *');const cronModalVisible = ref(false);const openCronModal = () => {cronModalVisible.value = true;
    };const onCronConfirm = (val: string) => {easyCronInnerValue.value = val;cronModalVisible.value = false;
    };const onCronCancel = () => {cronModalVisible.value = false;
    };
    </script><template><div class="p-4"><h1 class="mb-4 text-2xl font-bold">Test Detail Page</h1><div class="flex items-center gap-2" style="max-width: 640px"><input:value="easyCronInnerValue"type="text"placeholder="请输入 CRON 表达式"class="flex-1 rounded border border-gray-300 px-3 py-1"/><buttonclass="rounded bg-blue-600 px-3 py-1 text-white"@click="openCronModal">配置</button></div><p class="mt-4">当前cron值为: {{ easyCronInnerValue }}</p><CronPickerModalv-if="cronModalVisible"v-model:visible="cronModalVisible":value="easyCronInnerValue"@confirm="onCronConfirm"@cancel="onCronCancel"/></div>
    </template>

     

相关新闻

  • #字符串执行函数——eval()、exec()和compile()详解
  • OceanBase 向量数据库使用指南
  • 【光照】[环境光ambient]以UnityURP为例

最新新闻

  • 视频转音频哪种格式最省空间?3款工具画质音质双对比 - 软件工具教程方法
  • 北京朝阳区旧德尔沃、迪奥包包稳定变现,合扬门店常年在线,高价回收服务不中断 - 奢侈品交易观察员
  • 福州碎金、破损金饰,收的顶一站式处置指南结算不拖沓 - 奢侈品回收评测
  • 终极Ant Design紧凑模式指南:3步解决企业级界面空间焦虑
  • 2026 上海黄金回收哪家无套路?横跨7大行政区连锁门店就近变现 - 逸程
  • 北京黄金回收避坑指南 + 5 家门店深度对比,卖黄金前必看! - 奢侈品回收测评

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号