diff --git a/packages/vue-server-renderer/build.js b/packages/vue-server-renderer/build.js index bcbd86a0028..6e65c76fffc 100644 --- a/packages/vue-server-renderer/build.js +++ b/packages/vue-server-renderer/build.js @@ -5546,9 +5546,10 @@ function isBooleanType (fn) { /* */ // attributes that should be using props for binding +const acceptValue = makeMap('input,textarea,option,select') var mustUseProp = function (tag, attr) { return ( - (attr === 'value' && (tag === 'input' || tag === 'textarea' || tag === 'option')) || + (attr === 'value' && acceptValue(tag)) || (attr === 'selected' && tag === 'option') || (attr === 'checked' && tag === 'input') || (attr === 'muted' && tag === 'video') diff --git a/packages/vue-template-compiler/build.js b/packages/vue-template-compiler/build.js index 6303d946fdc..a53ea4e9cd4 100644 --- a/packages/vue-template-compiler/build.js +++ b/packages/vue-template-compiler/build.js @@ -5395,9 +5395,10 @@ function isBooleanType (fn) { /* */ // attributes that should be using props for binding +const acceptValue = makeMap('input,textarea,option,select') var mustUseProp = function (tag, attr) { return ( - (attr === 'value' && (tag === 'input' || tag === 'textarea' || tag === 'option')) || + (attr === 'value' && acceptValue(tag)) || (attr === 'selected' && tag === 'option') || (attr === 'checked' && tag === 'input') || (attr === 'muted' && tag === 'video')