You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue中实现填写一个输入框时禁用另一个输入框的方法

Vue实现输入框互斥禁用的方案

嘿,这个需求在Vue里实现起来比jQuery更顺手,毕竟Vue是数据驱动的,不用手动去操作DOM元素~ 我给你写个完整的示例,一看就懂:

核心思路

利用Vue的响应式特性,通过v-model绑定输入框内容,直接在disabled属性里判断另一个输入框是否有内容——有内容就禁用当前输入框,没内容就恢复可用,全程不用碰DOM操作。

完整代码示例

模板部分

<template>
  <div class="input-group">
    <input 
      type="text" 
      v-model="input1Value" 
      :disabled="input2Value.length > 0" 
      placeholder="输入框1"
    />
    <input 
      type="text" 
      v-model="input2Value" 
      :disabled="input1Value.length > 0" 
      placeholder="输入框2"
    />
  </div>
</template>

脚本部分

<script>
export default {
  data() {
    return {
      input1Value: '',
      input2Value: ''
    }
  }
}
</script>

效果说明

  • 初始状态下两个输入框都能正常输入;
  • 只要输入框1里有内容,输入框2会立刻变成禁用状态;
  • 删掉输入框1的所有内容后,输入框2会自动恢复可用;
  • 反过来操作输入框2,输入框1的状态也会同步变化。

和jQuery写法的区别

你之前用jQuery是监听keyup事件,然后手动定位另一个输入框设置disabled属性。而Vue里我们只需要关注数据的变化,DOM状态会自动跟着数据更新,完全不用手动操作DOM元素,这就是Vue数据驱动的优势~

内容的提问来源于stack exchange,提问作者farhany

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:52:47