鍍金池/ 問答/HTML/ elementUI里CheckBox組件的change回調如何在使用自定義傳參的

elementUI里CheckBox組件的change回調如何在使用自定義傳參的條件下保留默認傳參?

我想在勾選的時候,傳遞該行數(shù)據(jù)item,同時根據(jù)CheckBox更新后value的值向數(shù)組selectedId中插入item中的uid。
官方文檔里面只有一個默認的回調參數(shù),我想在這基礎上再多傳遞一個參數(shù),有什么辦法么?

clipboard.png

下面是我的代碼...

<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數(shù)組
                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>
回答
編輯回答
菊外人

同問,有什么辦法保留默認傳參

找到解決辦法了。

@change="checked=>方法名(checked,你想傳的額外參數(shù)...)"

實例

<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}
2017年12月29日 13:48
編輯回答
荒城
@change="selecteChange(a,b,c,d...)"

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

這種形式是自定義傳參,還有一種是默認傳參

@change="selecteChange"

selecteChange(val,e){
    //...
}

你用自定義傳參就可以了,傳入一個item參數(shù)不就夠了嗎?value根據(jù)item.checked可以獲取到。

2018年3月13日 12:48