UNPKG

press-ui

Version:

简单、易用的跨端组件库,兼容 Vue2 和 Vue3,同时支持 uni-app和普通 Vue 项目

96 lines (93 loc) 1.88 kB
export function deepCloneVNodes(vnodes, createElement) { function cloneVNode(vnode) { const clonedChildren = vnode.children?.map(cloneVNode); const cloned = createElement(vnode.tag, vnode.data, clonedChildren); cloned.text = vnode.text; cloned.isComment = vnode.isComment; cloned.componentOptions = vnode.componentOptions; cloned.elm = vnode.elm; cloned.context = vnode.context; cloned.ns = vnode.ns; cloned.isStatic = vnode.isStatic; cloned.key = vnode.key; return cloned; } if (typeof vnodes.map === 'function') { return vnodes.map(cloneVNode); } return vnodes; } export const SWIPER_PROPS = { indicatorDots: { type: [Boolean, String], default: false, }, vertical: { type: [Boolean, String], default: false, }, autoplay: { type: [Boolean, String], default: false, }, circular: { type: [Boolean, String], default: false, }, interval: { type: [Number, String], default: 5e3, }, duration: { type: [Number, String], default: 500, }, current: { type: [Number, String], default: 0, }, indicatorColor: { type: String, default: '', }, indicatorActiveColor: { type: String, default: '', }, previousMargin: { type: String, default: '', }, nextMargin: { type: String, default: '', }, currentItemId: { type: String, default: '', }, skipHiddenItemLayout: { type: [Boolean, String], default: false, }, displayMultipleItems: { type: [Number, String], default: 1, }, disableTouch: { type: [Boolean, String], default: false, }, navigation: { type: [Boolean, String], default: false, }, navigationColor: { type: String, default: '#fff', }, navigationActiveColor: { type: String, default: 'rgba(53, 53, 53, 0.6)', }, };