关于v-model的使用,(vue)

本文介绍了在Vue中如何使用v-model绑定组件输入框的值,并在点击编辑按钮时保持原有值显示的实现方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用饿了吗组件input输入框时,需要绑定输入的值,同时需要满足在进行点击按钮进行名字编辑的时候,需要锁定原来的值在输入框显示。如下图:


<el-input ref="input"
               size="small"
               class="favorite-input"
               @click.native.stop=""
               :value="favGroup.name"
               @keyup.native.enter="saveTitle"
               v-where-close="{ visible: renameCollect, handle: saveTitle}"
               v-else>
</el-input>

这里直接用:value绑定了我需要改变的变量值。

那么接下来,我是如何在函数中处理这个变量值呢?上代码:

saveTitle (e) {
            const name = this.$refs.input.$el
                .querySelector('input').value.trim()
            if (name) {
                const inputObject = {
                    name,
                    id: this.favGroup.id
                }
                this.$store.dispatch('updateFavoriteGroup', inputObject)
            }
            this.$emit('toggle', false)
            this.renameCollect = false
}


而在另外一个地方,我同样也需要input框,但是使用的v-model,代码如下:

<el-input ref="input"
          :placeholder="$t('favorite.searchPlaceholder')"
          icon="search"
          :class="$style.searchInput"
          v-model="searchVal"
          size="small"
          @keyup.native.enter="">
</el-input>

在data里面,需要返回searchVal,这样写data() { return { searchVal: ' '}}

这个情况下是进行拼音搜索,拼音搜索使用的变量也是searchVal。

v-model是双向绑定,:value是绑定值,在作用上与v-model是一样的。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值