Ver Fonte

support .trim modifier on v-model

Evan You há 10 anos atrás
pai
commit
ad00f3d42a
1 ficheiros alterados com 4 adições e 4 exclusões
  1. 4 4
      src/compiler/codegen/directives/model.js

+ 4 - 4
src/compiler/codegen/directives/model.js

@@ -35,14 +35,14 @@ function genRadioModel (el, value) {
 
 function genDefaultModel (el, value, modifiers) {
   const type = el.attrsMap.type
-  const lazy = modifiers && modifiers.lazy
-  const number = modifiers && modifiers.number
+  const { lazy, number, trim } = modifiers || {}
   const event = lazy ? 'change' : 'input'
   const needCompositionGuard = !lazy && type !== 'range'
 
+  const valueExpression = `$event.target.value${trim ? '.trim()' : ''}`
   let code = number || type === 'number'
-    ? `${value}=Number($event.target.value)`
-    : `${value}=$event.target.value`
+    ? `${value}=Number(${valueExpression})`
+    : `${value}=${valueExpression}`
   if (needCompositionGuard) {
     code = `if($event.target.composing)return;${code}`
   }