UNPKG

winbox-ui-next

Version:

We Design Vue 2.0: A Vue.js 3 UI Library

15 lines (14 loc) 591 B
"use strict"; var vue = require("vue"); var is = require("../_utils/is.js"); var useState = require("./use-state.js"); function useMergeState(defaultValue, props) { const { value } = vue.toRefs(props); const [localValue, setLocalValue] = useState(!is.isUndefined(value.value) ? value.value : defaultValue); vue.watch(value, (newVal) => { is.isUndefined(newVal) && setLocalValue(void 0); }); const mergeValue = vue.computed(() => !is.isUndefined(value.value) ? value.value : localValue.value); return [mergeValue, setLocalValue, localValue]; } module.exports = useMergeState;