Skip to content

Commit 825ea9b

Browse files
authored
fix: 🐛 修复双向滑块响应式丢失 (#436)
1 parent 99eab74 commit 825ea9b

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

src/uni_modules/wot-design-uni/components/wd-slider/wd-slider.vue

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -136,21 +136,21 @@ watch(
136136
137137
watch(
138138
() => props.modelValue,
139-
(newValue, oldValue) => {
139+
(newValue) => {
140140
// 类型校验,支持所有值(除null、undefined。undefined建议统一写成void (0)防止全局undefined被覆盖)
141141
if (newValue === null || newValue === undefined) {
142-
emit('update:modelValue', oldValue)
142+
emit('update:modelValue', currentValue.value)
143143
console.warn('[wot design] warning(wd-slider): value can nott be null or undefined')
144144
} else if (isArray(newValue) && newValue.length !== 2) {
145145
console.warn('[wot design] warning(wd-slider): value must be dyadic array')
146146
} else if (!isNumber(newValue) && !isArray(newValue)) {
147-
emit('update:modelValue', oldValue)
147+
emit('update:modelValue', currentValue.value)
148148
console.warn('[wot design] warning(wd-slider): value must be dyadic array Or Number')
149149
}
150-
currentValue.value = newValue
151150
// 动态传值后修改
152151
if (isArray(newValue)) {
153-
if (oldValue && isArray(oldValue) && equal(newValue, oldValue)) return
152+
if (currentValue.value && isArray(currentValue.value) && equal(newValue, currentValue.value)) return
153+
currentValue.value = newValue
154154
showRight.value = true
155155
if (leftBarPercent.value <= rightBarPercent.value) {
156156
leftBarSlider(newValue[0])
@@ -160,7 +160,8 @@ watch(
160160
rightBarSlider(newValue[0])
161161
}
162162
} else {
163-
if (newValue === oldValue) return
163+
if (newValue === currentValue.value) return
164+
currentValue.value = newValue
164165
leftBarSlider(newValue)
165166
}
166167
},

0 commit comments

Comments
 (0)