From ceb62372db96039702fc4666830add31a9db1405 Mon Sep 17 00:00:00 2001 From: zkwolf Date: Sun, 17 Jan 2021 00:19:22 +0800 Subject: [PATCH] fix: checkbox emit unexpected value --- components/vc-checkbox/src/Checkbox.jsx | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/components/vc-checkbox/src/Checkbox.jsx b/components/vc-checkbox/src/Checkbox.jsx index 9c2d653f00..590bddf28a 100644 --- a/components/vc-checkbox/src/Checkbox.jsx +++ b/components/vc-checkbox/src/Checkbox.jsx @@ -69,11 +69,6 @@ export default defineComponent({ if (!('checked' in props)) { this.sChecked = e.target.checked; } - // fix https://github.com/vueComponent/ant-design-vue/issues/3047 - if ('checked' in props) { - this.$refs.input.checked = props.checked; - } - this.$forceUpdate(); // change前,维持现有状态 e.shiftKey = this.eventShiftKey; const eventObj = { target: { @@ -88,6 +83,12 @@ export default defineComponent({ }, nativeEvent: e, }; + + // fix https://github.com/vueComponent/ant-design-vue/issues/3047 + // 受控模式下维持现有状态 + if ('checked' in props) { + this.$refs.input.checked = props.checked; + } this.__emit('update:checked', eventObj); this.__emit('change', eventObj); this.eventShiftKey = false;