UNPKG

element-plus

Version:

A Component Library for Vue 3

38 lines (35 loc) 967 B
import { ref, watch } from 'vue'; import { isEqual, get } from 'lodash-unified'; const defaultProps = { label: "label", value: "value", disabled: "disabled", options: "options" }; function useProps(props) { const aliasProps = ref({ ...defaultProps, ...props.props }); let cache = { ...props.props }; watch( () => props.props, (val) => { if (!isEqual(val, cache)) { aliasProps.value = { ...defaultProps, ...val }; cache = { ...val }; } }, { deep: true } ); const getLabel = (option) => get(option, aliasProps.value.label); const getValue = (option) => get(option, aliasProps.value.value); const getDisabled = (option) => get(option, aliasProps.value.disabled); const getOptions = (option) => get(option, aliasProps.value.options); return { aliasProps, getLabel, getValue, getDisabled, getOptions }; } export { defaultProps, useProps }; //# sourceMappingURL=useProps.mjs.map