为了账号安全,请及时绑定邮箱和手机立即绑定

elementUI里CheckBox组件的change回调如何在使用自定义传参的条件下保留默认传参?

elementUI里CheckBox组件的change回调如何在使用自定义传参的条件下保留默认传参?

慕尼黑8549860 2019-03-19 17:15:01
我想在勾选的时候,传递该行数据item,同时根据CheckBox更新后value的值向数组selectedId中插入item中的uid。官方文档里面只有一个默认的回调参数,我想在这基础上再多传递一个参数,有什么办法么?下面是我的代码...<div id="app">    <div v-for="item in stylesData">        <el-checkbox v-model="item.checked" @change="selecteChange(item)"></el-checkbox>        <img v-bind:src="item.src"/>        <p>{{item.text}}</p>    </div></div><script>    const app = new Vue({        el: '#app',        data: function(){            return {                selectedId: [],        //选中后的UID数组                stylesData: [{                    uid: 1,                    checked: false,                    src: 'xxx.jpg',                    text: '一段描述'                },{                    uid: 2,                    checked: false,                    src: 'xxxx.jpg',                    text: '二段描述'                },{                    uid: 3,                    checked: false,                    src: 'xxxxx.jpg',                    text: '三段描述'                }]            }        },        methods: {            selecteChange: function(item,value){                console.log(item);                console.log(value);                if(value == true){                    app.selectedId.push(item.uid);                }            }        }    });</script>
查看完整描述

2 回答

?
繁星淼淼

TA贡献1775条经验 获得超11个赞


同问,有什么办法保留默认传参


找到解决办法了。


@change="checked=>方法名(checked,你想传的额外参数...)"

实例


<el-checkbox :disabled="scope.row.disable" v-model="scope.row.cashStatus"

                       @change="checked=>checkRow(checked, scope.row)"></el-checkbox>

                       

checkRow(checked,row) {

    console.log(`checked:${checked}`)

    console.log(`row:${JSON.stringify(row)}`)

  },

控制台结果:


checked:true

row:{"name":"FB 周日","disable":false,"cashStatus":true,"netStatus":false}


查看完整回答
反对 回复 2019-04-04
?
慕容708150

TA贡献1831条经验 获得超4个赞

@change="selecteChange(a,b,c,d...)"


selecteChange(a,b,c,d...){

    //...

}

这种形式是自定义传参,还有一种是默认传参


@change="selecteChange"


selecteChange(val,e){

    //...

}

你用自定义传参就可以了,传入一个item参数不就够了吗?value根据item.checked可以获取到。


查看完整回答
反对 回复 2019-04-04
  • 2 回答
  • 0 关注
  • 7759 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信