yanzhen-design-vue
Version:
35 lines (34 loc) • 1.33 kB
JavaScript
import { provide, inject, computed, unref } from "vue";
import { useInjectFormItemContext } from "ant-design-vue/es/form/FormItemContext";
import { FormItemGroupContextKey } from "../constants.mjs";
function useProvideFormItemGroupContext(props) {
provide(FormItemGroupContextKey, props);
}
const useInjectFormItemGroupContext = () => {
const { onFieldChange, clearValidate, onFieldBlur } = useInjectFormItemContext();
const config = inject(FormItemGroupContextKey);
const context = {
id: computed(() => unref(config == null ? void 0 : config.id)),
onFieldChange(name) {
var _a;
onFieldChange == null ? void 0 : onFieldChange();
(_a = config == null ? void 0 : config.onFieldChange) == null ? void 0 : _a.call(config, name);
},
onFieldBlur: (name) => {
var _a;
onFieldBlur == null ? void 0 : onFieldBlur();
(_a = config == null ? void 0 : config.onFieldBlur) == null ? void 0 : _a.call(config, name);
},
clearValidate: (name) => {
var _a;
clearValidate == null ? void 0 : clearValidate();
(_a = config == null ? void 0 : config.clearValidate) == null ? void 0 : _a.call(config, name);
}
};
provide(FormItemGroupContextKey, context);
return context;
};
export {
useInjectFormItemGroupContext,
useProvideFormItemGroupContext
};