refactor: reorganize all components (#8303)

This commit is contained in:
neverland
2021-03-08 11:50:37 +08:00
committed by GitHub
parent 3144a63d2b
commit e540876398
193 changed files with 1307 additions and 400 deletions
+46
View File
@@ -0,0 +1,46 @@
import { ref, defineComponent } from 'vue';
import { pick, createNamespace, ComponentInstance } from '../utils';
import { useExpose } from '../composables/use-expose';
import TimePicker from './TimePicker';
import DatePicker from './DatePicker';
const [name, bem] = createNamespace('datetime-picker');
const timePickerProps = Object.keys(TimePicker.props);
const datePickerProps = Object.keys(DatePicker.props);
export default defineComponent({
name,
props: {
...TimePicker.props,
...DatePicker.props,
modelValue: [String, Date],
},
setup(props, { attrs, slots }) {
const root = ref<ComponentInstance>();
useExpose({
getPicker: () => root.value?.getPicker(),
});
return () => {
const isTimePicker = props.type === 'time';
const Component = isTimePicker ? TimePicker : DatePicker;
const inheritProps = pick(
props,
isTimePicker ? timePickerProps : datePickerProps
);
return (
<Component
v-slots={slots}
ref={root}
class={bem()}
{...{ ...inheritProps, ...attrs }}
/>
);
};
},
});