javascript - vue.js:如何对对象的每个值进行 v 建模

标签 javascript vue.js

我想要这样的效果: 当我在 <input> 中输入内容时,vue 可以帮助我格式化字符串。

例如:当有人输入 20160324... 时,这可以同时格式化为“2016-03-24...”(因此此效果必须在同一个 <input> 中显示),因为我的预期是“2016-03-24 15:00:00”。

ps:

  1. 我的<input>是由对象数组动态生成的。我想知道在每个项目上编写“v-model”的正确方法是什么。
  2. 因为我不知道指定的<input>是什么,所以无法通过“Vue.$watch”观看。

我的数据如下:

data{
        form:[
            {name:'name',value:'',inputType:'text'},
            {name:'sex',value:'',inputType:'radio'},
            {name:'age',value:'20',inputType:'text'},
            {name:'time',value:'',inputType:'date'},
        ]
}

谢谢

最佳答案

第一个动态生成的表单你可以在这里看到https://jsfiddle.net/2q3Lt1vr/ .

[type=date] 输入呈现为 html5 日期选择器。因此,第二个示例我将把 date 更改为 text。你可以在这里看到https://jsfiddle.net/dgq01f6u/2/ 。 格式化方法取决于你自己的逻辑。此演示需要您在完成输入后分散注意力。

如果您想实时更新输入字段,您可能需要使用watch,例如

watch: {
  form: {
   deep: true,
   handler: function() {
     this.form.forEach(function(field) {
       if (field.inputType === 'date') {
         // do your format  
       }
     });
   }
  }
}

关于javascript - vue.js:如何对对象的每个值进行 v 建模,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36195921/

相关文章:

javascript - 避免在 Nuxt VueJs 中直接改变 Prop

javascript - 如何在 Firefox for Android 上为视频创建缩略图

javascript - 为 @mentions 功能隔离 keyUp 上的 "@"字符

javascript - 使用 jquery/javascript 更改日期时间格式

javascript - 使用 ReactJS 时数据表 Bootstrap 主题不适用

javascript - 为什么命名为 : false does not work for me

vue.js - 如何仅针对 v-for 循环中单击的项目触发元素可见性?

javascript - 如何在 Vue.js 中停止自动滚动到顶部

javascript - onChange 内的 React 测试函数

javascript - 如何检测 Google Instant 页面是否已完全加载?