如何在输入中一起使用 :value 和 v-model

Posted

技术标签:

【中文标题】如何在输入中一起使用 :value 和 v-model【英文标题】:How to use :value and v-model together in input 【发布时间】:2020-03-13 14:21:14 【问题描述】:

我正在尝试将初始值设置为 v-model,其中 id 已在 data 中声明。但是编译的时候会报错。

<input clearable
       v-model="id"
       :value="id"
       @keydown="isNumber"
       autofocus/>

:value="id" 在同一元素上与 v-model 冲突,因为后者已经在内部扩展为值绑定

有解决问题的建议吗?

【问题讨论】:

删除:value="id" @Bravo 我需要带有初始值的input 字段吗?如果我删除:value="id",如何为v-model="id" 赋值? 您可以在数据属性中为id 分配一个默认值 错误信息准确地告诉你我在下面的回答中所说的内容:即 后者(即 v-model)在内部扩展为值绑定 【参考方案1】:

TL;DR

v-model="id"

做同样的事情

:value="id"
@input="id = $event.target.value"

因此您不需要添加:value=id,它已经“存在”


来自documentation

<input v-model="searchText">

做同样的事情:

<input
  v-bind:value="searchText"
  v-on:input="searchText = $event.target.value"
>

所以...您正在尝试执行以下操作

<input
    clearable

    v-bind:value="id"
    v-on:input="id = $event.target.value"

    :value="id"
    @keydown="isNumber"
    autofocus
>

现在因为:value="id" 是shorthand 对应v-bind:value="id",你现在可以看到你正在尝试做

v-bind:value="id"

两次

【讨论】:

以上是关于如何在输入中一起使用 :value 和 v-model的主要内容,如果未能解决你的问题,请参考以下文章

vue中如何获取选中的checkbox的value值

BlocProvider.value 如何与添加的事件一起使用

first_value 和 last_value 如何与范围无限的前行和当前行一起使用?

如何在 React.js 中不使用 onSubmit 清除输入字段

apache中的php_value auto_prepend_file如何与php一起使用它总是留在内存中吗?

如何在神经网络算法中一起处理文本和图像输入[关闭]