feat(vue): add ionic vue beta (#22062)

This commit is contained in:
Liam DeBeasi
2020-09-10 15:20:49 -04:00
committed by GitHub
parent 74af3cb50b
commit 5ffa65f84a
48 changed files with 3949 additions and 26 deletions

View File

@ -0,0 +1,37 @@
import { h, defineComponent, inject } from 'vue';
export const IonTabButton = defineComponent({
name: 'IonTabButton',
setup(_, { attrs, slots }) {
const ionRouter: any = inject('navManager');
const onClick = (ev: Event) => {
if (ev.cancelable) {
ev.preventDefault();
}
const { tab, href } = attrs;
const currentRoute = ionRouter.getCurrentRouteInfo();
if (currentRoute.tab === tab) {
if (href !== currentRoute.pathname) {
ionRouter.resetTab(tab, href);
}
} else {
// TODO tabs will change/did change
ionRouter.changeTab(tab, href)
}
}
return () => {
const children = slots.default && slots.default()
return h(
'ion-tab-button',
{
onClick,
...attrs
},
children
)
}
}
});