@@ -87,6 +87,7 @@ const allowAdd = computed(() =>
8787 && (! props .limit || model .value .length < props .limit )
8888 && ! [' data' , ' number' ].includes (modelType .value ),
8989)
90+
9091const stops = computed (() => {
9192 const stops = Math .floor ((props .max - props .min ) / props .step ) + 1
9293 if (props .showStops === true )
@@ -97,8 +98,10 @@ const stops = computed(() => {
9798 return - 1
9899})
99100
101+ // {idx: index} - idx is the real dom of thumb's index, index is the index in model
100102const indexMap = ref <Record <number , number >>({})
101103const indexMapReversed = computed (() => Object .fromEntries (Object .entries (indexMap .value ).map (([k , v ]) => [v , Number .parseInt (k )])))
104+
102105function sort(val : RangeData <T , U >[]) {
103106 const valMap = val .map ((v , i ) => ({ v: v .value , i , raw: v }))
104107 valMap .sort ((a , b ) => a .v - b .v )
@@ -277,7 +280,7 @@ provide(RangeTrackRefKey, trackRef)
277280 v-for =" index, idx in indexMap"
278281 :key =" idx"
279282 :position =" position[idx] || 0"
280- :active =" current === idx"
283+ :active =" current === Number( idx) "
281284 :disabled =" model[index].disabled"
282285 :unremovable =" model[index].unremovable"
283286 :data =" model[index]"
@@ -293,7 +296,7 @@ provide(RangeTrackRefKey, trackRef)
293296 @move-done =" current = -1"
294297 @update =" onUpdate"
295298 @delete =" onDelete"
296- @pointerdown =" current = idx"
299+ @pointerdown =" current = Number( idx) "
297300 >
298301 <template #top =" { data } " >
299302 <slot name =" top" :data =" data" />
0 commit comments