35 lines
		
	
	
		
			No EOL
		
	
	
		
			1.1 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			No EOL
		
	
	
		
			1.1 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| {{#if props}}
 | |
|   <PseudoVirtualListItem :component
 | |
|                          :props
 | |
|                          :key
 | |
|                          :index
 | |
|                          :length
 | |
|                          :intersectionObserver
 | |
|                          :isIntersecting
 | |
|                          :isCached
 | |
|                          :height
 | |
|                          on:scrollToPosition
 | |
|   />
 | |
| {{/if}}
 | |
| <script>
 | |
|   import PseudoVirtualListItem from './PseudoVirtualListItem.html'
 | |
|   import { mark, stop } from '../../_utils/marks'
 | |
| 
 | |
|   export default {
 | |
|     async oncreate() {
 | |
|       // TODO: there appears to be a bug in {{#await}} that means we have to do this manually.
 | |
|       // Some items may appear on top of other items because their offset is 0 and never updated.
 | |
|       let makeProps = this.get('makeProps')
 | |
|       let key = this.get('key')
 | |
|       if (makeProps) {
 | |
|         let props = await makeProps(key)
 | |
|         mark('PseudoVirtualListLazyItem set props')
 | |
|         this.set({props: props})
 | |
|         stop('PseudoVirtualListLazyItem set props')
 | |
|       }
 | |
|     },
 | |
|     components: {
 | |
|       PseudoVirtualListItem
 | |
|     }
 | |
|   }
 | |
| </script> |