Vue 实现切换单选按钮,在输入框显示不同的内容。

1.效果展示

位置控制显示

尺寸、符号都受位置的影响,当位置为上时显示尺寸上、符号上,当位置为下时显示尺寸下、符号下。

2.代码实现

// html部分
<a-form-model-item label="尺寸">
 <a-input v-model="form.size" @input="sizeInput" />
</a-form-model-item>
<a-form-model-item label="位置">
 <a-radio-group v-model="form.position" @change="positionChange">
  <a-radio value="1"></a-radio>
  <a-radio value="2"></a-radio>
 </a-radio-group>
</a-form-model-item>
<a-form-model-item label="符号">
 <a-radio-group v-model="form.symbol" @change="symbolChange">
  <a-radio-button value="0">Hangzhou</a-radio-button>
  <a-radio-button value="1">Shanghai</a-radio-button>
  <a-radio-button value="2">Beijing</a-radio-button>
  <a-radio-button value="3">Chengdu</a-radio-button>
 </a-radio-group>
</a-form-model-item>

// js部分
// 位置变化 控制 值显示
positionChange() {
 if (this.form.position === '1') {
  this.form.size = this.form.upSize // 控制尺寸显示
  this.form.symbol = this.form.upSymbol // 控制符号显示
 } else {
   this.form.size = this.form.downSize
   this.form.symbol = this.form.downSymbol
 }
},
// 表单变化 控制 值保存
symbolChange() {
 if (this.form.position === '1') {
  this.form.upSymbol = this.form.symbol
 } else {
   this.form.downSymbol = this.form.symbol
 }
},
// 表单变化 控制 值保存
sizeInput() {
 if (this.form.position === '1') {
  this.form.upSize = this.form.size
} else {
  this.form.downSize = this.form.size
 }
},
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以通过绑定单选按钮的`change`事件,在事件处理函数中更新输入框的`v-show`或`v-if`指令来实现隐藏或显示输入框。 具体实现步骤如下: 1. 在`data`选项中定义一个布尔类型的变量`showInput`,用来控制输入框显示和隐藏。 ``` data() { return { showInput: false } } ``` 2. 在模板中使用单选按钮输入框,并根据`showInput`的值来控制输入框显示和隐藏。 ``` <template> <div> <label> <input type="radio" value="1" v-model="selectedValue" @change="showInput = true">选项1 </label> <label> <input type="radio" value="2" v-model="selectedValue" @change="showInput = false">选项2 </label> <input type="text" v-show="showInput"> </div> </template> ``` 在上面的代码中,我们使用了`v-show`指令来控制输入框显示和隐藏。当`showInput`的值为`true`时,输入框显示;当`showInput`的值为`false`时,输入框隐藏。 3. 在事件处理函数中更新`showInput`的值,从而控制输入框显示和隐藏。 ``` methods: { handleChange() { if (this.selectedValue === '1') { this.showInput = true } else { this.showInput = false } } } ``` 在上面的代码中,我们通过判断选中的单选按钮的值来更新`showInput`的值,从而控制输入框显示和隐藏。当选中的单选按钮的值为`1`时,输入框显示;当选中的单选按钮的值为`2`时,输入框隐藏。 完整代码如下: ``` <template> <div> <label> <input type="radio" value="1" v-model="selectedValue" @change="handleChange">选项1 </label> <label> <input type="radio" value="2" v-model="selectedValue" @change="handleChange">选项2 </label> <input type="text" v-show="showInput"> </div> </template> <script> export default { data() { return { selectedValue: '1', showInput: false } }, methods: { handleChange() { if (this.selectedValue === '1') { this.showInput = true } else { this.showInput = false } } } } </script> ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值