@@ -33,18 +33,38 @@ if (isVue3) {
33
33
const originalVModelDynamicCreated = Vue . vModelDynamic . created
34
34
const originalVModelDynamicBeforeUpdate = Vue . vModelDynamic . beforeUpdate
35
35
36
- // See https://github.com/vuejs/vue-next/pull/4121 for details
36
+ // See https://github.com/vuejs/vue-next/pull/4121 and https://github.com/vuejs/core/pull/8681 for details
37
37
Vue . vModelDynamic . created = function ( el , binding , vnode ) {
38
- originalVModelDynamicCreated . call ( this , el , binding , vnode )
39
- if ( ! el . _assign ) {
40
- el . _assign = ( ) => { }
38
+ const assignSymbol = Object . getOwnPropertySymbols ( el ) . find ( s => s . description === '_assign' )
39
+ if ( assignSymbol && ! el [ assignSymbol ] ) {
40
+ el [ assignSymbol ] = ( ) => { }
41
41
}
42
+ originalVModelDynamicCreated . call ( this , el , binding , vnode )
42
43
}
43
44
Vue . vModelDynamic . beforeUpdate = function ( el , binding , vnode ) {
45
+ const assignSymbol = Object . getOwnPropertySymbols ( el ) . find ( s => s . description === '_assign' )
46
+ if ( assignSymbol && ! el [ assignSymbol ] ) {
47
+ el [ assignSymbol ] = ( ) => { }
48
+ }
44
49
originalVModelDynamicBeforeUpdate . call ( this , el , binding , vnode )
45
- if ( ! el . _assign ) {
46
- el . _assign = ( ) => { }
50
+ }
51
+
52
+ const originalVModelCheckBoxCreated = Vue . vModelCheckbox . created
53
+ const originalVModelCheckBoxBeforeUpdate = Vue . vModelCheckbox . beforeUpdate
54
+
55
+ Vue . vModelCheckbox . created = function ( el , binding , vnode ) {
56
+ const assignSymbol = Object . getOwnPropertySymbols ( el ) . find ( s => s . description === '_assign' )
57
+ if ( assignSymbol && ! el [ assignSymbol ] ) {
58
+ el [ assignSymbol ] = ( ) => { }
59
+ }
60
+ originalVModelCheckBoxCreated . call ( this , el , binding , vnode )
61
+ }
62
+ Vue . vModelCheckbox . beforeUpdate = function ( el , binding , vnode ) {
63
+ const assignSymbol = Object . getOwnPropertySymbols ( el ) . find ( s => s . description === '_assign' )
64
+ if ( assignSymbol && ! el [ assignSymbol ] ) {
65
+ el [ assignSymbol ] = ( ) => { }
47
66
}
67
+ originalVModelCheckBoxBeforeUpdate . call ( this , el , binding , vnode )
48
68
}
49
69
extend = function patchedBootstrapVueExtend ( definition ) {
50
70
if ( typeof definition === 'object' && definition . render && ! definition . __alreadyPatched ) {
0 commit comments