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

wip(app): nvue

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