UNPKG

tav-ui

Version:
39 lines (34 loc) 1 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var vue = require('vue'); var lodashEs = require('lodash-es'); function useRuleFormItem(props, key = "value", changeEvent = "change", emitData) { const instance = vue.getCurrentInstance(); const emit = instance?.emit; const innerState = vue.reactive({ value: props[key] }); const defaultState = vue.readonly(innerState); const setState = (val) => { innerState.value = val; }; vue.watchEffect(() => { innerState.value = props[key]; }); const state = vue.computed({ get() { return innerState.value; }, set(value) { if (lodashEs.isEqual(value, defaultState.value)) return; innerState.value = value; vue.nextTick(() => { emit?.(changeEvent, value, ...vue.toRaw(vue.unref(emitData)) || []); }); } }); return [state, setState, defaultState]; } exports.useRuleFormItem = useRuleFormItem; //# sourceMappingURL=useFormItem2.js.map