15 lines
454 B
JavaScript
15 lines
454 B
JavaScript
import { watch, computed } from 'vue';
|
|
export default function useMergedState(controlledStateRef, uncontrolledStateRef) {
|
|
watch(controlledStateRef, value => {
|
|
if (value !== undefined) {
|
|
uncontrolledStateRef.value = value;
|
|
}
|
|
});
|
|
return computed(() => {
|
|
if (controlledStateRef.value === undefined) {
|
|
return uncontrolledStateRef.value;
|
|
}
|
|
return controlledStateRef.value;
|
|
});
|
|
}
|