yanzhen-design-vue
Version:
58 lines (57 loc) • 2.11 kB
JavaScript
import { defineComponent, mergeModels, toRefs, useModel, ref, watchEffect, toValue, openBlock, createBlock, mergeProps, unref } from "vue";
import { provideApiConfig } from "@yanzhen-lowcode/core";
import { cascadeProps, cascadeApis } from "./cascade.mjs";
import "./HydrateCascade.vue.mjs";
import { Cascade } from "./constants/apis.mjs";
import _sfc_main$1 from "./HydrateCascade.vue2.mjs";
const _sfc_main = /* @__PURE__ */ defineComponent({
__name: "cascade",
props: /* @__PURE__ */ mergeModels(cascadeProps, {
"value": { default: void 0 },
"valueModifiers": {}
}),
emits: /* @__PURE__ */ mergeModels(["onChange"], ["update:value"]),
setup(__props, { emit: __emit }) {
const props = __props;
const { cascadeAdvancedConfig } = toRefs(props);
const _api = provideApiConfig(props);
const emit = __emit;
const modelValue = useModel(__props, "value");
const treeData = ref([]);
const fetchData = async (id) => {
var _a;
if (!id) {
return;
}
const params = {
id,
detail: true
};
const { errcode, result } = await ((_a = _api == null ? void 0 : _api.value) == null ? void 0 : _a.request(
{ data: params },
cascadeApis[Cascade.Options]
));
if (errcode === "0") {
treeData.value = result.optionDataTree;
}
};
watchEffect(() => {
var _a;
const optionSetId = (_a = toValue(cascadeAdvancedConfig)) == null ? void 0 : _a.optionSetId;
fetchData(optionSetId);
});
return (_ctx, _cache) => {
var _a;
return openBlock(), createBlock(_sfc_main$1, mergeProps({
modelValue: modelValue.value,
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => modelValue.value = $event),
mode: ((_a = unref(cascadeAdvancedConfig)) == null ? void 0 : _a.selectStyle) === "TREE" ? "tree" : "cascade",
options: treeData.value,
"filter-options": _ctx.filterOptions
}, _ctx.$attrs), null, 16, ["modelValue", "mode", "options", "filter-options"]);
};
}
});
export {
_sfc_main as default
};