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 { createNamespace } from '../utils';
|
||||||
|
import { usePublicApi } from '../composition/use-public-api';
|
||||||
import TimePicker from './TimePicker';
|
import TimePicker from './TimePicker';
|
||||||
import DatePicker from './DatePicker';
|
import DatePicker from './DatePicker';
|
||||||
|
|
||||||
@ -10,15 +12,16 @@ export default createComponent({
|
|||||||
...DatePicker.props,
|
...DatePicker.props,
|
||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
setup(props) {
|
||||||
// @exposed-api
|
const rootRef = ref();
|
||||||
getPicker() {
|
|
||||||
return this.$refs.root.getPicker();
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
render() {
|
usePublicApi({
|
||||||
const Component = this.type === 'time' ? TimePicker : DatePicker;
|
getPicker: () => rootRef.value && rootRef.value.getPicker(),
|
||||||
return <Component ref="root" class={bem()} {...this.$props} />;
|
});
|
||||||
|
|
||||||
|
return () => {
|
||||||
|
const Component = props.type === 'time' ? TimePicker : DatePicker;
|
||||||
|
return <Component ref={rootRef} class={bem()} {...props} />;
|
||||||
|
};
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user