iview中單擊行,使得checkbox狀態的方法

直接貼代碼,這是一組jquery全選,全不選,反選代碼css

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="../vue/vue.js"></script>
    <script src="../vue/iview/js/iview.min.js"></script>
    <link rel="stylesheet" href="../vue/iview/css/iview.css">
</head>
<body>
<div id="app">
    <i-table :columns="col" :data="data" @on-row-click="handlerClicked"></i-table>
</div>
<script>
    new Vue({
        el: '#app',
        data() {
            return {
                col: [
                    {
                        align: 'center',
                        title: '選項',
                        key: 'flag',
                        render: (h, params) => {
                            return h('Checkbox', {
                                props: {
                                    value: params.row.flag
                                }
                            })
                        }
                    },
                    {
                        title: '姓名',
                        key: 'name'
                    },
                    {
                        title: '年齡',
                        key: 'age'
                    }
                ],
                data: [
                    {
                        name: '小明',
                        age: 11,
                        flag: false
                    },
                    {
                        name: '小明1',
                        age: 12,
                        flag: true
                    }
                ]
            }
        },
        methods: {
            handlerClicked(val) {
                this.data.forEach(function (item) {
                    let { name, age, flag } = item
                    if (name === val.name && age === val.age && flag === val.flag) {
                        item.flag = !item.flag
                    }
                })
            }
        }
    })
</script>
</body>
</html>

思路是這樣的:html

  • 不使用iview默認的type中的selection,使用render函數來渲染checkbox選型。
  • 在data中定義flag來決定checkbox中的狀態。
  • 監聽row的on-row-click事件,獲取當前行的數據,而後依次對data中的數據作對比,而後修改對應row中的flag狀態。

原文地址:https://segmentfault.com/a/1190000012878643vue

相關文章
相關標籤/搜索