javascript - 用vueJS绑定chekbox,在label上加点击事件改变chekbox状态,状态更改有问题,怎么办?
黄舟
黄舟 2017-04-11 11:05:59
[JavaScript讨论组]

用vueJS绑定chekbox,在label上加点击事件改变chekbox状态。点击label的文字时,数据模型改变(checked),checkbox的选中状态也会改变。但是直接点chekbox,数据模型已经改变,但是选中状态不改变,这是怎么回事?求救!

点击label里的文字时,数据模型可以与chekbox状态对应:

点击checkbox时,无论数据模型如何变化,checkbox状态都不会改变:




黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(2)
PHP中文网
<template>
    <td class="role-first-category">
        <p class="checkbox">
            <label>
                <input type="checkbox" v-model="menu.checked">
                {{menu.Text}}
            </label>
        </p>
    </td>
</template>

<script>
    export default{
        props: ['menu'],
        watch: {
            'menu.checked' (checked) {
                if (checked && this.menu.ID == 3) {
                    this.$dispatch('transmit', 'tip', {
                        name: '提示:',
                        contentText: '确定要取消角色权限吗?取消后将无法再进行权限管理!',
                        btnName: '确定',
                        events: {
                            confirm: 'cancelRolePower'
                        }
                    });
                }
            }
        }
    }
</script>
高洛峰
<label for="my-check">
    <input type="checkbox" id="my-check" v-model="menu.checked">
    {{menu.Text}}
</label>

1L那样写比较好,实现点文字也起作用的话,给label加上for属性指向checkbox就行。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号