@arco-design/web-vue
Version:
Arco Design Vue 2.0: A Vue.js 3 UI Library
19 lines (18 loc) • 607 B
JavaScript
;
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;