UNPKG

@cqmcui/cqmcui

Version:

轻量级移动端 Vue2、Vue3 组件库(支持小程序开发)

78 lines (77 loc) 2.52 kB
import { inject, reactive, computed, toRefs, openBlock, createElementBlock, normalizeClass, createElementVNode, Fragment, renderList, toDisplayString } from "vue"; import { c as createComponent } from "./component-81a4c1d0.js"; import { _ as _export_sfc } from "./_plugin-vue_export-helper-cc2b3d55.js"; import "../locale/lang"; const { componentName, create } = createComponent("time-detail"); const _sfc_main = create({ name: "timedetail", props: { times: { type: Array, default: () => { return []; } } }, emits: ["select"], setup: (props, context) => { const currentKey = inject("currentKey"); const currentTime = inject("currentTime"); const state = reactive({ currentKey, currentTime }); const classes = computed(() => { const prefixCls = componentName; return { [prefixCls]: true }; }); const getClass = (item) => { let find = state.currentTime.find((item2) => item2.key == state.currentKey); if (find) { return { "cqmc-time-detail__detail__list__item": true, "cqmc-time-detail__detail__list__item--curr": find.list.filter((value) => value === item).length > 0 }; } }; const renderData = computed(() => { return props.times.find((time) => time.key == state.currentKey)["list"]; }); const handleTime = (time) => { context.emit("select", time); }; return { classes, ...toRefs(state), getClass, renderData, handleTime }; } }); const _hoisted_1 = { class: "cqmc-time-detail__detail cqmc-time-detail__detail--moring" }; const _hoisted_2 = { class: "cqmc-time-detail__detail__list" }; const _hoisted_3 = ["onClick"]; function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("view", { class: normalizeClass(_ctx.classes) }, [ createElementVNode("view", _hoisted_1, [ createElementVNode("view", _hoisted_2, [ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.renderData, (item) => { return openBlock(), createElementBlock("view", { class: normalizeClass(_ctx.getClass(item)), key: item, onClick: ($event) => _ctx.handleTime(item) }, toDisplayString(item), 11, _hoisted_3); }), 128)) ]) ]) ], 2); } const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]); export { index as default };