UNPKG

roomkit-web-vue3

Version:

<h1 align="center"> TUIRoomKit</h1> Conference (TUIRoomKit) is a product suitable for multi-person audio and video conversation scenarios such as business meetings, webinars, and online education. By integrating this product, you can add room management,

66 lines (65 loc) 2.19 kB
import { defineComponent, ref, watch, openBlock, createElementBlock, createVNode, unref, withCtx, Fragment, renderList, createBlock } from "vue"; import Select from "../Select/index.mjs"; import OPtion from "../Option/index.mjs"; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "DatepickerH5", props: { value: {} }, emits: ["input"], setup(__props, { emit: __emit }) { const props = __props; const emit = __emit; const currentValue = ref(); watch( () => props.value, (val) => { if (!val) return; currentValue.value = new Date(val).getTime(); }, { immediate: true } ); watch(currentValue, (val) => emit("input", new Date(val)), { immediate: true }); function generateYearDates(year) { const startDate = new Date(year, 0, 1); const endDate = new Date(year, 11, 31); const dates = []; const currentDate = startDate; while (currentDate <= endDate) { const month = currentDate.getMonth() + 1; const day = currentDate.getDate(); dates.push( `${year}/${month < 10 ? `0${month}` : month}/${day < 10 ? `0${day}` : day}` ); currentDate.setDate(currentDate.getDate() + 1); } return dates; } const yearDates = generateYearDates((/* @__PURE__ */ new Date()).getFullYear()).map((item) => ({ label: item, value: new Date(item).getTime() })); return (_ctx, _cache) => { return openBlock(), createElementBlock("div", null, [ createVNode(unref(Select), { value: currentValue.value, onInput: _cache[0] || (_cache[0] = ($event) => currentValue.value = $event) }, { default: withCtx(() => [ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(yearDates), (item) => { return openBlock(), createBlock(unref(OPtion), { key: item.value, value: item.value, label: item.label }, null, 8, ["value", "label"]); }), 128)) ]), _: 1 }, 8, ["value"]) ]); }; } }); export { _sfc_main as default };