vue3 + antd +ts cron 选择器使用

news/2025/9/24 17:33:21/文章来源:https://www.cnblogs.com/fhysy/p/19109191

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>

     

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/916024.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HarmonyOS 5 性能优化全攻略:从启动加速到内存管理

🚀 一、启动速度优化 应用启动是用户体验的第一印象,优化启动速度至关重要。 1. 冷启动时延优化 通过精简初始化流程和资源预加载,可将启动时间缩短30%-50%。 // LaunchOptimization.ets import TaskPool from @oh…

#字符串执行函数——eval()、exec()和compile()详解

字符串执行函数——eval()、exec()和compile()详解 字符串类型代码的执行函数有三个,都是Python的内置函数。 eval() 执行字符串类型的代码,并返回最终结果。 exec() 执行字符串类型的代码。 #### compile() 将字符…

HarmonyOS 5 网络编程与数据存储实战:从RESTful API到本地持久化

🌐 一、网络编程基础与权限配置 HarmonyOS提供了强大的网络能力,支持HTTP/HTTPS、WebSocket、Socket等协议。 1. 权限声明与配置 在 module.json5中声明网络权限和加密通信权限: {"module": {"requ…

视觉传达设计网站深圳 德 网站建设

主要内容 自定义函数式接口函数式编程常用函数式接口 第一章 函数式接口 概念 函数式接口在java中指的是:有且只有一个抽象方法的接口 函数式接口,即适用于函数式编程场景的接口.而java中共的函数式编程体现就是Lambda,所以函数式接口就是可以适用于lambda使用的接口.只有…

OceanBase 向量数据库使用指南

OceanBase 向量数据库使用指南为了大家更好地使用 OceanBase 向量数据库, OceanBase 中负责研发向量能力的一众研发同学共同为大家写了这篇《OceanBase 向量数据库使用指南》,推荐各位老师收藏本文,以备不时之需。A…

【光照】[环境光ambient]以UnityURP为例

【从UnityURP开始探索游戏渲染】专栏-直达环境光的基本处理流程 $Cambient$‌环境光采集‌:获取场景环境光照信息 ‌环境光遮蔽‌:计算环境光遮挡关系 ‌环境光反射‌:根据材质属性反射环境光 ‌环境光混合‌:与其…

浅谈当前时代下大学生的就业择业及人生规划

浅谈当前时代下大学生的就业择业及人生规划: 叠甲阶段: 我不是专业的人生规划师,也不是手握各大厂资源和offer的人脉大佬。我只是一个在芸芸大学生中的其中一个小透明。眼界与资源都具有局限性。各位佬,同学权当汲…

网站备案一般要多久pr免费模板网站

转载自Thrift在Windows及Linux平台下的安装和使用示例 thrift介绍 Apache Thrift 是 Facebook 实现的一种高效的、支持多种编程语言的RPC(远程服务调用)框架。 本文主要目的是分别介绍在Windows及Linux平台下的Thrift安装步骤&#xff0c;以及实现一个简单的demo演示Thrif…

手把手教你做网站做网站设计的都转行干啥了

一、前言 spring为开发人员提供了两个搜索注解的工具类&#xff0c;分别是AnnotatedElementUtils和AnnotationUtils。在使用的时候&#xff0c;总是傻傻分不清&#xff0c;什么情况下使用哪一个。于是我做了如下的整理和总结。 二、AnnotationUtils官方解释 功能 用于处理注解&…

唐山网站专业制作网站的整体规划怎么写

重要&#xff1a; schema-defined aspects只支持singleton model&#xff0c;即 基于配置文件的aspects只支持单例模式 转载于:https://www.cnblogs.com/JsonShare/p/4638475.html

上传图片做网站维护微信公众号网页授权登录wordpress

题目&#xff1a;从一个由N个整数排列组成的整数序列中&#xff0c;自左向右不连续的选出一组整数&#xff0c;可以组成一个单调减小的子序列(如从{68 69 54 64 68 64 70 67 78 62 98 87}中我们可以选取出{69 68 64 62}这个子序列&#xff1b;当然&#xff0c;这里还有很多其他…

实用指南:玳瑁的嵌入式日记---0923(ARM)

实用指南:玳瑁的嵌入式日记---0923(ARM)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "…

个人博客搭建记录【hexo】

安装hexo 部署环境Node.js GitNode.js 部署,建议版本大于 12.0Node.js 安装中步骤中需要注意其中两处:Add to PATH 选上,使其集成到系统环境中: ​此处勾选会安装各种编程环境和软件,这对于安装hexo是不必要的: …

喵喵喵

笨蛋循环。笨蛋黑白染色。笨蛋欧拉回路。笨蛋欧拉回路!!笨蛋性质。笨蛋反图。笨蛋典题。笨蛋困难难题目。笨蛋猫猫。笨蛋煎蛋。笨蛋,眼睛瞎了。

Ansible自动化管理 - 指南

Ansible自动化管理 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", &…

flink不同环境切换 - --

代码: package com.yourcompany.flink; import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;import java.util.Properties; /** * 最简版 - 所有代码在一个文件中 */public class Minima…

网站原则广州网站开发公司

RabbitMQ&#xff1a;高效的消息队列中间件及其 PHP 实现 一、什么是 RabbitMQ&#xff1f; RabbitMQ 是一个开源的消息队列中间件&#xff0c;使用 Erlang 编写&#xff0c;遵循 AMQP&#xff08;Advanced Message Queuing Protocol&#xff09;协议。它的主要功能是提供一种…

ps-填充色

ps-填充色一、填充颜色用矩形选框选中范围; Ctrl + delete:填充背景色; Alt + delete:填充前景色;不将就,不强求!

PythonStudio_圆的面积demo源代码

# Powered By Python Studio, The best Python GUI IDE to download from glsite.com. import os from glcl import *class Form1(Form):def __init__(self, owner):self.Button3 = Button(self)self.Button2 = Button…

HarmonyOS 5分布式数据同步实战:跨设备待办事项应用

🔧 一、前期准备:配置与权限 在开始编码前,需要进行一些基础配置。模块配置 (module.json5): 在 module.json5文件中申请分布式数据同步权限。 {"module": {"requestPermissions": [{"na…