【问题标题】:vue.js:how to v-model an object in every it's valuevue.js:如何在每个对象的值中对对象进行 v-model
【发布时间】:2016-03-24 08:30:11
【问题描述】:

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

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

ps:

  1. 我的 是由对象数组动态生成的。我想知道在每个项目上写“v-model”的正确方法。
  2. 因为不知道指定的是什么,所以无法通过“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'},
        ]
}

谢谢

【问题讨论】:

    标签: javascript vue.js


    【解决方案1】:

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

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

    如果要实时更新输入字段,可能需要使用watchlike

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

    【讨论】:

    • 非常感谢!这可以解决我的困惑,你的答案也达到了我的要求。再次感谢
    猜你喜欢
    • 2016-03-11
    • 2020-03-02
    • 1970-01-01
    • 1970-01-01
    • 2019-09-26
    • 1970-01-01
    • 2021-07-26
    • 2018-06-22
    • 1970-01-01
    相关资源
    最近更新 更多