提交 97a6f0d5 编写于 作者: fxy060608's avatar fxy060608

wip(app): nvue

上级 f3b62a6b
......@@ -81,6 +81,12 @@ export function initComponents(Vue, weex) {
}
};
}
function useHoverClass(hoverClass) {
if (hoverClass && hoverClass !== "none") {
return {};
}
return { hoverClass };
}
var Navigator = vue.defineComponent({
name: "Navigator",
props: navigatorProps,
......@@ -88,9 +94,13 @@ export function initComponents(Vue, weex) {
slots
}) {
const onClick = createNavigatorOnClick(props);
return () => vue.createVNode("div", {
"onClick": onClick
}, [slots.default && slots.default()]);
return () => {
return vue.createVNode("div", vue.mergeProps({
"class": "clazz"
}, useHoverClass(props.hoverClass), {
"onClick": onClick
}), [slots.default && slots.default()]);
};
}
});
var index = {
......
export const buttonProps = {
id: {
type: String,
default: '',
},
hoverClass: {
type: String,
default: 'button-hover',
},
hoverStartTime: {
type: [Number, String],
default: 20,
},
hoverStayTime: {
type: [Number, String],
default: 70,
},
hoverStopPropagation: {
type: Boolean,
default: false,
},
disabled: {
type: [Boolean, String],
default: false,
},
formType: {
type: String,
default: '',
},
openType: {
type: String,
default: '',
},
loading: {
type: [Boolean, String],
default: false,
},
plain: {
type: [Boolean, String],
default: false,
},
}
......@@ -3,12 +3,19 @@ import {
createNavigatorOnClick,
navigatorProps,
} from '../../components/navigator'
import { useHoverClass } from '../utils'
export default defineComponent({
name: 'Navigator',
props: navigatorProps,
setup(props, { slots }) {
const onClick = createNavigatorOnClick(props)
return () => <div onClick={onClick}>{slots.default && slots.default()}</div>
return () => {
return (
<div {...useHoverClass(props.hoverClass)} onClick={onClick}>
{slots.default && slots.default()}
</div>
)
}
},
})
export function useHoverClass(hoverClass: string) {
if (hoverClass && hoverClass !== 'none') {
return {}
}
return { hoverClass }
}
......@@ -7,51 +7,11 @@ import { withWebEvent } from '../../helpers/useEvent'
import { UniFormCtx, uniFormKey } from '../form'
import { uniLabelKey, UniLabelCtx } from '../label'
import { useListeners } from '../../helpers/useListeners'
import { buttonProps } from '../../components/button'
export default /*#__PURE__*/ defineBuiltInComponent({
name: 'Button',
props: {
id: {
type: String,
default: '',
},
hoverClass: {
type: String,
default: 'button-hover',
},
hoverStartTime: {
type: [Number, String],
default: 20,
},
hoverStayTime: {
type: [Number, String],
default: 70,
},
hoverStopPropagation: {
type: Boolean,
default: false,
},
disabled: {
type: [Boolean, String],
default: false,
},
formType: {
type: String,
default: '',
},
openType: {
type: String,
default: '',
},
loading: {
type: [Boolean, String],
default: false,
},
plain: {
type: [Boolean, String],
default: false,
},
},
props: buttonProps,
setup(props, { slots }) {
const rootRef = ref<HTMLElement | null>(null)
if (__PLATFORM__ === 'app') {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册