mirror of
https://gitee.com/vant-contrib/vant.git
synced 2025-04-06 03:57:59 +08:00
refactor(DatetimePicker): refactor with composition api
This commit is contained in:
parent
b17c67ab53
commit
60e08767b3
@ -1,4 +1,6 @@
|
||||
import { ref } from 'vue';
|
||||
import { createNamespace } from '../utils';
|
||||
import { usePublicApi } from '../composition/use-public-api';
|
||||
import TimePicker from './TimePicker';
|
||||
import DatePicker from './DatePicker';
|
||||
|
||||
@ -10,15 +12,16 @@ export default createComponent({
|
||||
...DatePicker.props,
|
||||
},
|
||||
|
||||
methods: {
|
||||
// @exposed-api
|
||||
getPicker() {
|
||||
return this.$refs.root.getPicker();
|
||||
},
|
||||
},
|
||||
setup(props) {
|
||||
const rootRef = ref();
|
||||
|
||||
render() {
|
||||
const Component = this.type === 'time' ? TimePicker : DatePicker;
|
||||
return <Component ref="root" class={bem()} {...this.$props} />;
|
||||
usePublicApi({
|
||||
getPicker: () => rootRef.value && rootRef.value.getPicker(),
|
||||
});
|
||||
|
||||
return () => {
|
||||
const Component = props.type === 'time' ? TimePicker : DatePicker;
|
||||
return <Component ref={rootRef} class={bem()} {...props} />;
|
||||
};
|
||||
},
|
||||
});
|
||||
|
Loading…
x
Reference in New Issue
Block a user