前端cron相关功能插件组件使用总结

本文介绍了如何在React应用中使用react-js-cron库生成Cron组件,展示如何设置和使用cron表达式,并提到了cronstrue库用于中文描述cron表达式的功能。同时,也推荐了Bree.js/later作为cron表达式的替代方案,因为原生库存在bug且维护不足。
摘要由CSDN通过智能技术生成

cron又名七子表达式,用于选择周期性的时间

生成cron组件

使用react-js-cron
安装

npm install react-js-cron

效果图
在这里插入图片描述

使用

import { Cron } from 'react-js-cron';
import 'react-js-cron/dist/styles.css'; //别忘记引入样式
import { useState } from 'react';

function Cron() {
   const [cronValue, setCronValue] = useState('0 10 * * 1-5/2');
   return (
    <Cron
       // 手动汉化
       locale={{
       everyText: '每',
       clearButtonText: '清空',
       emptyMonths: '每个月', // 全选时的显示
       emptyMonthDays: '这个月的每一天',
       emptyWeekDays: '这周的每一天',
       emptyHours: '每小时',
       emptyMinutes: '每分',
       prefixPeriod: '每', // 年选择框前面的字
       prefixMonths: '的',
       prefixMonthDays: '的',
       prefixWeekDays: '的',
       prefixWeekDaysForMonthAndYearPeriod: '和',
       prefixHours: '的',
       prefixMinutesForHourPeriod: '的',
       suffixMinutesForHourPeriod: '分',
       yearOption: '年',
       monthOption: '月',
       weekOption: '周',
       dayOption: '日',
       hourOption: '时',
       minuteOption: '分',
       weekDays: [
           '周日', 
           '周一', 
           '周二', 
           '周三', 
           '周四', 
           '周五', 
           '周六'], // 周日为第一个,周列表选择
       months: [
            '一月',
            '二月',
            '三月',
            '四月',
            '五月',
            '六月',
            '七月',
            '八月',
            '九月',
            '十月',
            '十一月',
            '十二月',
        ], // 月列表选择
        altWeekDays: [
            '周日', 
            '周一', 
            '周二', 
            '周三', 
            '周四', 
            '周五', 
            '周六'], // 选中后的显示
         altMonths: [
             '一月',
             '二月',
             '三月',
             '四月',
             '五月',
             '六月',
             '七月',
             '八月',
             '九月',
             '十月',
             '十一月',
             '十二月',
         ],
      }}
        value={cronValue}
        setValue={setCronValue}
      />
   )
}

翻译cron

cronstrue 是一个 JavaScript 库,解析 cron 表达式并输出可读的 cron 中文描述。
插件地址:GitHub - bradymholt/cRonstrue
安装

npm install cronstrue --save

引入和使用

import cronstrue from "cronstrue/i18n"; 

cronstrue.toString(cron,{ locale: "zh_CN"})

查看最近5次运行时间

这个插件好像有bug,而且好久没维护了,建议还是由后端生成
安装

npm install @breejs/later

引入和使用

const later = require('@breejs/later');

const time = later.parse.cron(value);
const nextFiveTime = later.schedule(time).next(5).map((item) => {
    return dayjs(item).format('YYYY-MM-DD HH:mm:ss');
});
  • 11
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为你提供一些指导和建议。首先,你需要安装 Vue 3 和 Element Plus 的依赖。可以使用以下命令进行安装: ``` npm install vue@next npm install element-plus ``` 然后,你可以创建一个名为 `Cron` 的 Vue 组件,该组件将用于呈现 Cron 表达式编辑器。在组件中,你可以使用 Element Plus 提供的各种 UI 组件,例如日期选择器、下拉框、输入框等等,以便用户可以方便地编辑 Cron 表达式。 以下是一个简单的 `Cron` 组件的示例代码: ```vue <template> <div> <el-date-picker v-model="date" type="date" placeholder="选择日期"></el-date-picker> <el-input v-model="expression" placeholder="Cron 表达式"></el-input> <!-- 其他 Element Plus 组件 --> </div> </template> <script> import { ref } from 'vue'; export default { name: 'Cron', setup() { const date = ref(null); const expression = ref(''); // 其他逻辑处理 return { date, expression, // 其他返回值 }; }, }; </script> ``` 当用户对表单进行编辑后,你需要将表单数据转换为 Cron 表达式。你可以使用一个名为 `cronstrue` 的 JavaScript 库,该库可以将 Cron 表达式转换为人类可读的文本,或将人类可读的文本转换为 Cron 表达式。你可以使用以下命令将其安装: ``` npm install cronstrue ``` 在组件中,你可以编写一个计算属性,将用户编辑的表单数据转换为 Cron 表达式: ```vue <script> import { ref, computed } from 'vue'; import cronstrue from 'cronstrue'; export default { name: 'Cron', setup() { const date = ref(null); const expression = ref(''); const cron = computed(() => { if (!date.value || !expression.value) { return ''; } const [year, month, day] = date.value.split('-').map(Number); // 将表单数据转换为 Cron 表达式 const cronExpression = `0 0 0 ${day} ${month} ? ${year}`; // 将 Cron 表达式转换为人类可读的文本 return cronstrue.toString(cronExpression); }); // 其他逻辑处理 return { date, expression, cron, // 其他返回值 }; }, }; </script> ``` 最后,你需要将 `Cron` 组件导出,以便在其他组件使用。例如,在一个名为 `App` 的 Vue 组件中,你可以使用以下方式使用 `Cron` 组件: ```vue <template> <div> <Cron /> </div> </template> <script> import Cron from './Cron.vue'; export default { name: 'App', components: { Cron, }, }; </script> ``` 希望这些指导和建议能够对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值