refactor(Steps): refactor with composition api

This commit is contained in:
chenjiahan
2020-08-28 14:30:12 +08:00
parent 1237ee6c2c
commit e3cf460762
2 changed files with 80 additions and 65 deletions

View File

@@ -1,11 +1,11 @@
import { provide, reactive } from 'vue';
import { createNamespace } from '../utils';
import { ParentMixin } from '../mixins/relation';
const [createComponent, bem] = createNamespace('steps');
export default createComponent({
mixins: [ParentMixin('vanSteps')],
export const STEPS_KEY = 'vanSteps';
export default createComponent({
props: {
activeColor: String,
inactiveIcon: String,
@@ -26,10 +26,18 @@ export default createComponent({
emits: ['click-step'],
render() {
return (
<div class={bem([this.direction])}>
<div class={bem('items')}>{this.$slots.default?.()}</div>
setup(props, { emit, slots }) {
const children = reactive([]);
provide(STEPS_KEY, {
emit,
props,
children,
});
return () => (
<div class={bem([props.direction])}>
<div class={bem('items')}>{slots.default?.()}</div>
</div>
);
},