UNPKG

@wfrog/vc

Version:

`自用` 的基于 `element-plus` 二次封装的 `vue3` 组件库。追求在业务场景中,尽可能使用更少的代码量来实现需求。 因此在组件封装上,以 `方便` 为主,打包仅 `esm` 模式。

60 lines (58 loc) 2.24 kB
// vue-script:D:\project\_my\vc\src\components\daterange-picker\index.vue?type=script import { defineComponent as _defineComponent } from "vue"; import { unref as _unref, isRef as _isRef, mergeProps as _mergeProps, openBlock as _openBlock, createBlock as _createBlock } from "vue"; import { computed } from "vue"; import { ElDatePicker } from "element-plus"; var daterange_picker_default = /* @__PURE__ */ _defineComponent({ __name: "index", props: { modelValue: { type: Array, default: () => [] }, valueFormat: { type: String, default: "YYYY-MM-DD" }, limitDays: { type: Number, default: 3 }, includeToday: { type: Boolean, default: false } }, emits: ["update:modelValue", "change"], setup(__props, { emit: emits }) { const props = __props; const disabledDate = (time) => { const now = Date.now(); const pickerTime = time.getTime(); const dayTime = 3600 * 1e3 * 24; const limitTime = dayTime * props.limitDays; let todayTime = 0; if (props.limitDays > 0) { todayTime = props.includeToday ? dayTime : 0; } else { todayTime = props.includeToday ? 0 : dayTime; } if (props.limitDays < 0) { return pickerTime + todayTime > now || pickerTime + todayTime < now + limitTime; } return pickerTime + todayTime > now + limitTime || pickerTime + todayTime < now; }; const myValue = computed({ get: () => props.modelValue, set: (val) => { emits("update:modelValue", val); } }); const handleChange = (val) => { emits("change", val); }; return (_ctx, _cache) => { return _openBlock(), _createBlock(_unref(ElDatePicker), _mergeProps(_ctx.$attrs, { modelValue: _unref(myValue), "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _isRef(myValue) ? myValue.value = $event : null), "disabled-date": disabledDate, type: "daterange", "value-format": __props.valueFormat, onChange: handleChange }), null, 16, ["modelValue", "value-format"]); }; } }); // src/components/daterange-picker/index.vue var daterange_picker_default2 = daterange_picker_default; export { daterange_picker_default2 as default };