【问题标题】:perform action when vue js radio changes当 vue js radio 改变时执行动作
【发布时间】:2021-10-17 23:01:16
【问题描述】:

根据我想要做的收音机,div将打开,另一个将关闭。 我想不通。我是 vuejs 和 stackoverflow 的新手。提前致谢。

<div class="col-sm-3 d-flex border-light">
        <input class="form-check-input" type="radio" name="inlineRadioOptions1" id="inlineRadio3" @change="onChange($event)" value="1" checked>
        <label class="form-check-label" for="inlineRadio3"><b> YELLOW</b></label>
    </div>
    <div class="col-sm-3 d-flex border-light">
        <input class="form-check-input" type="radio" name="inlineRadioOptions1" id="inlineRadio4" @change="onChange($event)" value="2">
        <label class="form-check-label" for="inlineRadio4"><b> BLUE</b></label>
    </div>


<div>YELLOW</div>
<div>BLUE</div>
export default {
    data() {
        return {
            show: true,
            
        }
    },
    methods: {
        onChange(event) {
            var data = event.target.value;

        }
    }

}

【问题讨论】:

    标签: vuejs3


    【解决方案1】:

    在模板中,您调用值为@change="onChange(false)" 的方法 如果数据显示为真或假,则显示 div v-if="show" 在方法中,您设置数据显示取决于单击的单选按钮this.show = color 类似于以下 sn-p:

    new Vue({
      el: '#app',
        data() {
            return {
                show: true,
            }
        },
        methods: {
            onChange(color) {
                this.show = color
            }
        }
    })
    <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
    <div id="app">
    <div class="col-sm-3 d-flex border-light">
            <input class="form-check-input" type="radio" name="inlineRadioOptions1" id="inlineRadio3" @change="onChange(true)" value="1" checked>
            <label class="form-check-label" for="inlineRadio3"><b> YELLOW</b></label>
        </div>
        <div class="col-sm-3 d-flex border-light">
            <input class="form-check-input" type="radio" name="inlineRadioOptions1" id="inlineRadio4" @change="onChange(false)" value="2">
            <label class="form-check-label" for="inlineRadio4"><b> BLUE</b></label>
        </div>
      <div v-if="show">YELLOW</div>
      <div v-if="!show">BLUE</div>
    </div>

    【讨论】:

    • 发生了这样的事情,但是我无法获取传入的值。
    • 什么传入值?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-30
    • 2017-03-27
    • 2021-07-18
    • 2018-07-12
    • 2014-05-29
    • 2020-01-27
    相关资源
    最近更新 更多