1.实列图片
2.代码部分
<!--* @description: InputCron cron 表达式输入框* @author: wanghao* @Date: 2022-03-22 15:49:07* @Modified By: wanghao* @version: 1.0.0--><template><div class="Ami-input-cron"><div class="ami-input-cron"><ami-input class="ami-input-cron" style="width: auto" v-model="editCronValue" :placeholder="placeholder" :disabled="disabled" :clearable="clearable" :size="size"><template slot="append" :disabled="disabled"><ami-button slot="append" :icon="icon" @click="showConfigDlg"><!-- 文字 --><span>{{ configure }}</span></ami-button></template></ami-input><!-- 弹窗 --><ami-dialog :title="title" :visible.sync="dialogVisible" width="1280px" :before-close="handleClose"><!-- 内容区域--><easy-cron ref="child" v-model="editCronValue" :exeStartTime="exeStartTime" :hideYear="hideYear" :remote="remote" :hideSecond="hideSecond"></easy-cron><span slot="footer" class="dialog-footer"><ami-button @click="dialogVisible = false">取 消</ami-button><ami-button type="primary" @click="submit">确 定</ami-button></span></ami-dialog><!-- 数据预览 --><ami-inputv-if="preview===true"class="ami-input-cron-text"type="textarea":value="previewlist":rows="6"readonly></ami-input></div></div></template><script>import EasyCron from './easy-cron';export default {name: 'ami-input-cron',model: {prop: 'cronValue',event: 'change'},/*** 绑定事件* @access:change*/props: {// v-model监听值cronValue: {type: String,default: ''},// 输入框展位文本placeholder: {type: String,default: '请输入cron表达式'},// 执行时间exeStartTime: {type: [Number, String, Object],default: 0},// 预览preview: {type: Boolean,default: false},// 隐藏选择--秒,年hideSecond: {type: Boolean,default: false},// 隐藏选择--年hideYear: {type: Boolean,default: false},// 回调函数,在创建和值改变时回调remote: {type: Function,default: null},// 输入框是否清空clearable: {type: Boolean,default: false},// 禁用disabled: {type: Boolean,default: false},// (输入框)尺寸大小 large、small 和 mini 三种尺寸size: {type: String,default: ''},// 输入框按钮文字configure: {type: String,default: '配置'},// 输入框图标icon: {type: String,default: 'ami-icon-date'},// 弹窗标题title: {type: String,default: '配置Cron表达式'}},data() {return {editCronValue: this.cronValue,dialogVisible: false, // 弹窗// 预览子组件数据previewlist: ''};},watch: {/*** 监听v-model 绑定的值*/cronValue(newVal, oldVal) {if (newVal === this.editCronValue) {return;}this.editCronValue = newVal;},/*** 编辑 cronValue*/editCronValue(newVal, oldVal) {this.$emit('change', newVal);}},methods: {/*** @default:通知父组件促发change事件* 提交数据*/submit(newVal) {this.$emit('click', newVal);// 调用子组件数据this.previewlist = this.$refs.child.preTimeList;// 触发父组件click事件,关闭弹窗this.dialogVisible = false;},/*** 打开弹出层(弹窗)*/showConfigDlg() {if (!this.disabled) {this.dialogVisible = true;}},/*** 关闭弹出层(弹窗)*/handleClose() {this.dialogVisible = false;}},components: {EasyCron}};</script>
代码附件:附件地址
3.说明文档
InputCron cron 表达式输入框
基础用法
:::demo v-model的值为当前被选中的ami-input-cron的 value 属性值
<ami-input-cron v-model="formData.cronValue" clearable></ami-input-cron><script>export default {data() {return {exeStartTime:String(new Date()),formData:{cronValue:"",}};},}</script>
:::
配置完展示预览效果的
:::demo preview 配置完是否展示预览数据
<ami-input-cron v-model="formData.cronValue" preview></ami-input-cron><script>export default {data() {return {exeStartTime:String(new Date()),formData:{cronValue:'',}};},}</script>
:::
创建和值改变时回调
:::demo remote 回调函数,在创建和值改变时回调
<ami-input-cron v-model="formData.cronValue" :remote="remote"></ami-input-cron><script>export default {data() {return {exeStartTime:'2015-09-02 12:23:10',formData:{cronValue:"11 9 2 * 4 ? *",}};},methods:{remote (val, time, cb) {const msg = `remote called: ${val} ${time}`console.info(msg)setTimeout(() => {// get result for e via http...const result = msg// ...// callbackcb(result)}, 200)}}}</script>
:::
基础用法-促发事件
:::demo @click 促发事件,弹窗内确定按钮触发事件
<ami-input-cron v-model="formData.cronValue" @click="sublist" clearable></ami-input-cron><script>export default {data() {return {exeStartTime:String(new Date()),formData:{cronValue:"",}};},methods:{/** 点击事件*/sublist(){alert('触发点击');}}}</script>
:::
Attributes
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|---|---|---|---|---|
| v-model | 双向绑定 | String | — | 空 |
| disabled | 禁用(是否禁止编辑) | Boolean | true / false | false |
| placeholder | 输入框占位文本 | String | — | — |
| clearable | 是否显示清除按钮 | Boolean | true / false | false |
| configure | 输入框按钮文字 | String | —— | —— |
| exeStartTime | 执行时间 | Number / String / Object | — | 空 |
| hideSecond | 隐藏选择—秒,年 | Boolean | true / false | false |
| hideYear | 隐藏选择—年 | Boolean | true / false | false |
| size | 尺寸 | String | 默认/large/small/mini | 默认 |
| icon | 图标(ami-icon-date)可更换 | String | —— | —— |
| title | Dialog 标题区的内容 | String | —— | —— |
| remote | 回调函数,在创建和值改变时回调 | Function | null | |
| preview | 配置完是否展示预览数据 | Boolean | true / false | false |
Input Events
| 事件说明 | 说明 | 回调参数 |
|---|---|---|
| clear | 在点击由 clearable 属性生成的清空按钮时触发 | —— |
| click | 在值改变点击确定后触发 | —— |

