Vuejs中的属性突变

沃索里亚诺

所以我有多个这样的代码:

<input id="data" type="text"  v-model="data">
<label for="data">Data</label>

我试图用它做一个财产,这样我就不会每次都重复它:

Vue.component('textbox', {
  template: `
   <div>
   <input :id="id" type="text" v-model="value">
   <label :for="id">{{ label }}</label>
   </div>
  `,
  props: [
      "id", "value", "label", "for"],
  watch: {
    value: function(newVal){
       this.$emit('input', newVal)
    }
  }
})

并像这样在我的html中访问它:

<textbox v-model="data" id="someID" label="Data"></textbox>

一切正常,但是每次我在文本框中键入内容时,都会在控制台中收到以下警告:

[Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property based on the prop's value. Prop being mutated: "value" 
(found in component <textbox>)

有没有办法删除该警告消息?还是我做错了方法?任何帮助将非常感激。

CodinCat

您根本不需要使用手表。而不是使用v模型,请尝试以下操作:

<input :id="id" type="text" :value="value" @input="$emit('input', $event.target.value)">

工作示例:http : //codepen.io/CodinCat/pen/dNQopR?editors=1010

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Vuejs 提交突变失败

来自分类Dev

观看VueJS中的计算属性

来自分类Dev

VueJS中的计算属性消毒

来自分类Dev

观看VueJS中的计算属性

来自分类Dev

Hbase中的多行突变

来自分类Dev

在dplyr中替换%>%突变

来自分类Dev

处理突变中的错误

来自分类Dev

GraphQL突变中的onError

来自分类Dev

React中的数组被突变

来自分类Dev

在NSArray中突变NSDictionary

来自分类Dev

避免在Nuxt VueJs中直接突变道具

来自分类Dev

在Route change VueJS上运行突变?

来自分类Dev

VueJS - Vuex 在突变中分配数据

来自分类Dev

VueJs - DOM 不会因数组突变而更新

来自分类Dev

如何在VueJs中动态添加属性

来自分类Dev

VueJS2-组件中的计算属性

来自分类Dev

在VueJs组件中设置属性/数据

来自分类Dev

在 href 属性中绑定数据 - VueJS

来自分类Dev

循环遍历 Vuejs 中的 mapstate 计算属性

来自分类Dev

如何在vuejs中获取组件属性?

来自分类Dev

GraphQL 和 Mongoose 将属性覆盖为 null 且未在突变中传递参数

来自分类Dev

无法对阿波罗中的“对象数组”类型的属性进行突变

来自分类Dev

Vuex 突变更新状态,计算属性从不反映标记中的更新

来自分类Dev

从VUEX中的突变中突变出特定状态

来自分类Dev

dplyr突变中的递归错误

来自分类Dev

如何突变字典中的数组?

来自分类Dev

突变复杂列表中的数据

来自分类Dev

在Swift中突变函数参数

来自分类Dev

突变管道链中的向量