yanzhen-design-vue
Version:
47 lines (46 loc) • 2.06 kB
JavaScript
import { defineComponent, isVNode, unref, openBlock, createBlock, createElementBlock, Fragment, mergeProps, createCommentVNode, isRef, withCtx, createVNode } from "vue";
import { PageProviderItem, PageProvider } from "@yanzhen-lowcode/core";
import { formProviderItemName, formProviderItemProps, formProviderItemEmits, formProviderItemOptions } from "./form-provider-item.mjs";
import { useFormProviderItem } from "./use-form-provider-item.mjs";
const _sfc_main = /* @__PURE__ */ defineComponent({
...{ name: formProviderItemName },
__name: "form-provider-item",
props: formProviderItemProps,
emits: formProviderItemEmits,
setup(__props, { emit: __emit }) {
const { ns } = formProviderItemOptions;
const props = __props;
const emit = __emit;
const {
ctx: { type, model, use, schemaItem, pageProviderProps }
} = useFormProviderItem(props, emit);
return (_ctx, _cache) => {
var _a;
return isVNode(unref(type)) ? (openBlock(), createBlock(unref(PageProviderItem), {
key: 0,
type: unref(type)
}, null, 8, ["type"])) : unref(use) ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
unref(schemaItem) ? (openBlock(), createBlock(unref(PageProviderItem), mergeProps({
key: 0,
class: [unref(ns).b()]
}, unref(schemaItem)), null, 16, ["class"])) : createCommentVNode("", true)
], 64)) : (openBlock(), createBlock(unref(PageProvider), mergeProps({
key: 2,
value: unref(model),
"onUpdate:value": _cache[0] || (_cache[0] = ($event) => isRef(model) ? model.value = $event : null),
schema: (_a = unref(pageProviderProps)) == null ? void 0 : _a.schema
}, unref(pageProviderProps)), {
body: withCtx(() => [
createVNode(unref(PageProviderItem), mergeProps({
class: [unref(ns).b()],
model: unref(model)
}, unref(schemaItem)), null, 16, ["class", "model"])
]),
_: 1
}, 16, ["value", "schema"]));
};
}
});
export {
_sfc_main as default
};