43 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
| import type { CSSProperties, ExtractPropTypes, PropType } from 'vue';
 | |
| import { tourProps as VCTourProps, tourStepProps as VCTourStepProps } from '../vc-tour';
 | |
| import type { VueNode } from '../_util/type';
 | |
| 
 | |
| export const tourProps = () => ({
 | |
|   ...VCTourProps(),
 | |
|   steps: { type: Array as PropType<TourStepProps[]> },
 | |
|   prefixCls: { type: String },
 | |
|   current: { type: Number },
 | |
|   type: { type: String as PropType<'default' | 'primary'> }, //	default	类型,影响底色与文字颜色
 | |
|   'onUpdate:current': Function as PropType<(val: number) => void>,
 | |
| });
 | |
| 
 | |
| export type TourProps = Partial<ExtractPropTypes<ReturnType<typeof tourProps>>>;
 | |
| 
 | |
| export interface TourBtnProps {
 | |
|   children?: () => VueNode;
 | |
|   onClick?: () => void;
 | |
|   className?: string;
 | |
|   style?: CSSProperties;
 | |
| }
 | |
| 
 | |
| export const tourStepProps = () => ({
 | |
|   ...VCTourStepProps(),
 | |
|   cover: { type: Object as PropType<VueNode> }, // 展示的图片或者视频
 | |
|   nextButtonProps: {
 | |
|     type: Object as PropType<TourBtnProps>,
 | |
|   },
 | |
|   prevButtonProps: {
 | |
|     type: Object as PropType<TourBtnProps>,
 | |
|   },
 | |
|   current: { type: Number },
 | |
|   type: { type: String as PropType<'default' | 'primary'> }, //	default	类型,影响底色与文字颜色
 | |
| });
 | |
| 
 | |
| export type TourStepProps = Partial<ExtractPropTypes<ReturnType<typeof tourStepProps>>>;
 | |
| 
 | |
| export interface TourLocale {
 | |
|   Next: string;
 | |
|   Previous: string;
 | |
|   Finish: string;
 | |
| }
 |