fix: steps not fire some event
							parent
							
								
									65f49b97d7
								
							
						
					
					
						commit
						923e6231e4
					
				|  | @ -215,7 +215,7 @@ const getPropsData = vnode => { | |||
|       res[k] = v; | ||||
|     } | ||||
|   }); | ||||
|   return res; | ||||
|   return { ...props, ...res }; // 合并事件、未声明属性等
 | ||||
| }; | ||||
| const getValueByProp = (ele, prop) => { | ||||
|   return getPropsData(ele)[prop]; | ||||
|  |  | |||
|  | @ -2,7 +2,7 @@ import { inject } from 'vue'; | |||
| import CloseOutlined from '@ant-design/icons-vue/CloseOutlined'; | ||||
| import CheckOutlined from '@ant-design/icons-vue/CheckOutlined'; | ||||
| import PropTypes from '../_util/vue-types'; | ||||
| import { initDefaultProps, getOptionProps, getComponent } from '../_util/props-util'; | ||||
| import { initDefaultProps, getOptionProps, getComponent, getSlot } from '../_util/props-util'; | ||||
| import VcSteps from '../vc-steps'; | ||||
| import { ConfigConsumerProps } from '../config-provider'; | ||||
| 
 | ||||
|  | @ -52,7 +52,7 @@ const Steps = { | |||
|       progressDot, | ||||
|       ...props, | ||||
|     }; | ||||
|     return <VcSteps {...stepsProps}>{this.$slots.default && this.$slots.default()}</VcSteps>; | ||||
|     return <VcSteps {...stepsProps}>{getSlot(this)}</VcSteps>; | ||||
|   }, | ||||
| }; | ||||
| 
 | ||||
|  |  | |||
|  | @ -33,12 +33,7 @@ export default { | |||
|   }, | ||||
|   methods: { | ||||
|     onItemClick(...args) { | ||||
|       const { onClick } = this.$props; | ||||
| 
 | ||||
|       if (onClick) { | ||||
|         this.$emit('click', ...args); | ||||
|       } | ||||
| 
 | ||||
|       this.$emit('click', ...args); | ||||
|       this.$emit('stepClick', this.stepIndex); | ||||
|     }, | ||||
|     renderIconNode() { | ||||
|  |  | |||
|  | @ -2,7 +2,7 @@ import PropTypes from '../_util/vue-types'; | |||
| import BaseMixin from '../_util/BaseMixin'; | ||||
| import debounce from 'lodash/debounce'; | ||||
| import isFlexSupported from '../_util/isFlexSupported'; | ||||
| import { filterEmpty } from '../_util/props-util'; | ||||
| import { filterEmpty, getSlot, getPropsData } from '../_util/props-util'; | ||||
| import { cloneElement } from '../_util/vnode'; | ||||
| 
 | ||||
| export default { | ||||
|  | @ -98,14 +98,13 @@ export default { | |||
|       status, | ||||
|       size, | ||||
|       current, | ||||
|       $slots, | ||||
|       progressDot, | ||||
|       initial, | ||||
|       icons, | ||||
|     } = this; | ||||
|     const isNav = type === 'navigation'; | ||||
|     const { lastStepOffsetWidth, flexSupported } = this; | ||||
|     const filteredChildren = filterEmpty($slots.default && $slots.default()); | ||||
|     const filteredChildren = filterEmpty(getSlot(this)); | ||||
|     const lastIndex = filteredChildren.length - 1; | ||||
|     const adjustedlabelPlacement = progressDot ? 'vertical' : labelPlacement; | ||||
|     const classString = { | ||||
|  | @ -124,7 +123,7 @@ export default { | |||
|     return ( | ||||
|       <div {...stepsProps}> | ||||
|         {filteredChildren.map((child, index) => { | ||||
|           const childProps = child.props || {}; | ||||
|           const childProps = getPropsData(child); | ||||
|           const stepNumber = initial + index; | ||||
|           const stepProps = { | ||||
|             stepNumber: `${stepNumber + 1}`, | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 tanjinzhou
						tanjinzhou