perf(client): improve range control performance
This commit is contained in:
		
							parent
							
								
									bffe6fb9bf
								
							
						
					
					
						commit
						fa6eb0e0f2
					
				
					 1 changed files with 7 additions and 3 deletions
				
			
		|  | @ -78,9 +78,6 @@ export default defineComponent({ | ||||||
| 				return (steppedRawValue.value * (props.max - props.min)) + props.min; | 				return (steppedRawValue.value * (props.max - props.min)) + props.min; | ||||||
| 			} | 			} | ||||||
| 		}); | 		}); | ||||||
| 		watch(finalValue, () => { |  | ||||||
| 			context.emit('update:modelValue', finalValue.value); |  | ||||||
| 		}); |  | ||||||
| 
 | 
 | ||||||
| 		const thumbWidth = computed(() => { | 		const thumbWidth = computed(() => { | ||||||
| 			if (thumbEl.value == null) return 0; | 			if (thumbEl.value == null) return 0; | ||||||
|  | @ -141,6 +138,8 @@ export default defineComponent({ | ||||||
| 				rawValue.value = Math.min(1, Math.max(0, pointerPositionOnContainer / (containerEl.value!.offsetWidth - thumbWidth.value))); | 				rawValue.value = Math.min(1, Math.max(0, pointerPositionOnContainer / (containerEl.value!.offsetWidth - thumbWidth.value))); | ||||||
| 			}; | 			}; | ||||||
| 
 | 
 | ||||||
|  | 			let beforeValue = finalValue.value; | ||||||
|  | 
 | ||||||
| 			const onMouseup = () => { | 			const onMouseup = () => { | ||||||
| 				document.head.removeChild(style); | 				document.head.removeChild(style); | ||||||
| 				tooltipShowing.value = false; | 				tooltipShowing.value = false; | ||||||
|  | @ -148,6 +147,11 @@ export default defineComponent({ | ||||||
| 				window.removeEventListener('touchmove', onDrag); | 				window.removeEventListener('touchmove', onDrag); | ||||||
| 				window.removeEventListener('mouseup', onMouseup); | 				window.removeEventListener('mouseup', onMouseup); | ||||||
| 				window.removeEventListener('touchend', onMouseup); | 				window.removeEventListener('touchend', onMouseup); | ||||||
|  | 
 | ||||||
|  | 				// 値が変わってたら通知 | ||||||
|  | 				if (beforeValue !== finalValue.value) { | ||||||
|  | 					context.emit('update:modelValue', finalValue.value); | ||||||
|  | 				} | ||||||
| 			}; | 			}; | ||||||
| 
 | 
 | ||||||
| 			window.addEventListener('mousemove', onDrag); | 			window.addEventListener('mousemove', onDrag); | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue