UNPKG

@cqmcui/cqmcui

Version:

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

123 lines (122 loc) 3.67 kB
import { p as pxCheck } from "./pxCheck-c6b9f6b7.js"; import { inject, provide, computed, resolveComponent, openBlock, createBlock, normalizeClass, normalizeStyle, withCtx, createElementBlock, renderSlot, createTextVNode, toDisplayString, createCommentVNode, createElementVNode } from "vue"; import { c as createComponent } from "./component-81a4c1d0.js"; import Cell from "./Cell.js"; import { _ as _export_sfc } from "./_plugin-vue_export-helper-cc2b3d55.js"; import "../locale/lang"; import "./index-54d03fc1.js"; import "@cqmcui/icons-vue"; const { componentName, create } = createComponent("form-item"); const _sfc_main = create({ inheritAttrs: false, props: { prop: { type: String, default: "" }, label: { type: String, default: "" }, rules: { type: Array, default: () => { return []; } }, required: { type: Boolean, default: false }, showErrorMessage: { type: Boolean, default: true }, showErrorLine: { type: Boolean, default: true }, labelWidth: { type: [String, Number], default: "" }, labelAlign: { type: String, default: "" }, errorMessageAlign: { type: String, default: "" }, bodyAlign: { type: String, default: "" } }, components: { [Cell.name]: Cell }, emits: [""], setup(props, { emit, slots }) { const parent = inject("formErrorTip"); provide("form", { props }); const labelStyle = computed(() => { return { width: pxCheck(props.labelWidth), textAlign: props.labelAlign }; }); const bodyStyle = computed(() => { return { textAlign: props.bodyAlign }; }); const errorMessageStyle = computed(() => { return { textAlign: props.errorMessageAlign }; }); const getSlots = (name) => slots[name]; return { parent, labelStyle, bodyStyle, errorMessageStyle, getSlots }; } }); const _hoisted_1 = { class: "cqmc-cell__value cqmc-form-item__body" }; function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { const _component_nut_cell = resolveComponent("cqmc-cell"); return openBlock(), createBlock(_component_nut_cell, { class: normalizeClass(["cqmc-form-item", [{ error: _ctx.parent[_ctx.prop], line: _ctx.showErrorLine }, _ctx.$attrs.class]]), style: normalizeStyle(_ctx.$attrs.style) }, { default: withCtx(() => [ _ctx.label || _ctx.getSlots("label") ? (openBlock(), createElementBlock("view", { key: 0, class: normalizeClass(["cqmc-cell__title cqmc-form-item__label", { required: _ctx.required }]), style: normalizeStyle(_ctx.labelStyle) }, [ renderSlot(_ctx.$slots, "label", {}, () => [ createTextVNode(toDisplayString(_ctx.label), 1) ]) ], 6)) : createCommentVNode("", true), createElementVNode("view", _hoisted_1, [ createElementVNode("view", { class: "cqmc-form-item__body__slots", style: normalizeStyle(_ctx.bodyStyle) }, [ renderSlot(_ctx.$slots, "default") ], 4), _ctx.parent[_ctx.prop] && _ctx.showErrorMessage ? (openBlock(), createElementBlock("view", { key: 0, class: "cqmc-form-item__body__tips", style: normalizeStyle(_ctx.errorMessageStyle) }, toDisplayString(_ctx.parent[_ctx.prop]), 5)) : createCommentVNode("", true) ]) ]), _: 3 }, 8, ["class", "style"]); } const FormItem = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]); export { FormItem as default };