提交 61ebfa6c 编写于 作者: d-u-a's avatar d-u-a

fix(nvue): form

上级 13fd8bd5
......@@ -15,6 +15,8 @@ import Radio from './radio'
import RadioGroup from './radio-group'
import Form from './form'
import Icon from './icon'
import Swiper from './swiper'
import SwiperItem from './swiper-item'
export default {
Navigator,
Label,
......@@ -33,4 +35,6 @@ export default {
RadioGroup,
Form,
Icon,
Swiper,
SwiperItem,
}
......@@ -15,14 +15,11 @@ export default defineComponent({
const rootRef = ref<HTMLElement | null>(null)
const trigger = useCustomEvent<EmitEvent<typeof emit>>(rootRef, emit)
let so = slots.default && slots.default()
console.log(so)
provideForm(trigger, slots.default && (slots.default() as any))
const vnodes = slots.default && slots.default()
provideForm(trigger, vnodes)
return () => {
return <view ref={rootRef}>{slots.default && slots.default()}</view>
return <view ref={rootRef}>{vnodes}</view>
}
},
})
......@@ -34,13 +31,13 @@ function provideForm(trigger: CustomEventTrigger, children: any) {
nodes.forEach(function (node: any) {
if (
NATIVE_COMPONENTS.indexOf(node.type) >= 0 &&
node.data.attrs &&
node.data.attrs.name
node.el.attr &&
node.el.attr.name
) {
if (outResult) {
outResult[node.attrs.name] = modulePlus.getValue(node.elm.nodeId)
outResult[node.el.attr.name] = modulePlus.getValue(node.el.nodeId)
} else {
node.elm.setValue('')
node.el.setValue('')
}
}
if (
......
......@@ -4,7 +4,7 @@ import { swiperItemProps } from '../../components/swiper-item'
export default defineComponent({
name: 'SwiperItem',
props: swiperItemProps,
setup(props, { emit }) {
setup(props, { slots }) {
return () => {
return (
<div
......@@ -17,7 +17,9 @@ export default defineComponent({
bottom: 0,
overflow: 'hidden',
}}
></div>
>
{slots.default && slots.default()}
</div>
)
}
},
......
......@@ -82,11 +82,24 @@ export default defineComponent({
return () => {
const defaultSlots = slots.default && slots.default()
const { indicatorStyle } = state
const { indicatorStyle, currentSync } = state
swiperItems = flatVNode(defaultSlots)
return (
<div ref={rootRef} class="uni-swiper">
<slider class="uni-swiper-slider" {...listeners}>
<slider
class="uni-swiper-slider"
{...{
autoPlay: props.autoplay,
interval: props.interval,
index: currentSync,
keepIndex: true,
showIndicators: props.indicatorDots,
infinite: props.circular,
vertical: props.vertical,
scrollable: !props.disableTouch,
}}
{...listeners}
>
{swiperItems}
<indicator class="uni-swiper-dots" styles={indicatorStyle} />
</slider>
......@@ -195,9 +208,9 @@ function useSwiperListeners(
)
const listeners = {
scroll: onScroll,
scrollend: onScrollEnd,
change: onChange,
onScroll,
onScrollEnd,
onChange,
}
return listeners
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册