mirror of
				https://gitee.com/hhyykk/ipms-sjy-ui.git
				synced 2025-11-04 12:18:43 +08:00 
			
		
		
		
	
		
			
	
	
		
			17 lines
		
	
	
		
			456 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			17 lines
		
	
	
		
			456 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| 
								 | 
							
								import { Slots } from 'vue'
							 | 
						||
| 
								 | 
							
								import { isFunction } from '@/utils/is'
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export const getSlot = (slots: Slots, slot = 'default', data?: Recordable) => {
							 | 
						||
| 
								 | 
							
								  // Reflect.has 判断一个对象是否存在某个属性
							 | 
						||
| 
								 | 
							
								  if (!slots || !Reflect.has(slots, slot)) {
							 | 
						||
| 
								 | 
							
								    return null
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								  if (!isFunction(slots[slot])) {
							 | 
						||
| 
								 | 
							
								    console.error(`${slot} is not a function!`)
							 | 
						||
| 
								 | 
							
								    return null
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								  const slotFn = slots[slot]
							 | 
						||
| 
								 | 
							
								  if (!slotFn) return null
							 | 
						||
| 
								 | 
							
								  return slotFn(data)
							 | 
						||
| 
								 | 
							
								}
							 |