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

如何用Vue.js实现勾选未知复选框后禁用年龄输入框功能

实现方案

该需求完全可以通过Vue.js实现,核心逻辑是通过双向绑定监听复选框状态,动态控制年龄输入框的disabled属性,以下是完整改造方案:

核心逻辑说明

  • 声明两个响应式变量:age存储用户输入的年龄值,isAgeUnknown存储「Unknow」复选框的勾选状态
  • 复选框通过v-model绑定isAgeUnknown,自动同步勾选状态
  • 年龄输入框通过v-bind:disabled(可简写为:disabled)绑定isAgeUnknown,勾选状态为true时输入框自动禁用

改造后完整代码

<template>
  <div class="row mb-3">
    <label for="age" class="col-sm-2 col-form-label"> Age </label>
    <div class="col-sm-10">
      <input 
        type="number"
        class="col-sm-3 col-form-control" 
        min="0" 
        max="120" 
        step="1" 
        id="age"
        v-model="age"
        :disabled="isAgeUnknown"
      >
    </div>
    <div class="row mb-3">
      <label class="col-sm-1 col-form-check-label"> Unknow </label>
      <input 
        class="form-check-input" 
        type="checkbox" 
        id="check1" 
        name="option1" 
        value="something"
        v-model="isAgeUnknown"
      >
    </div>
  </div>
</template>

<!-- Vue3 语法 -->
<script setup>
import { ref } from 'vue'
const age = ref('')
const isAgeUnknown = ref(false)
</script>

如果使用Vue2版本,只需将script部分替换为Options API写法:

export default {
  data() {
    return {
      age: '',
      isAgeUnknown: false
    }
  }
}

可选优化

如果需要勾选「Unknow」时自动清空已输入的年龄,可添加状态监听逻辑:

// Vue3 示例
watch(isAgeUnknown, (newVal) => {
  if (newVal) age.value = ''
})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 05:06:02