vue.js iview 的table组件,自带过滤功能

方法一:

 

代码如下:

<template>
    <div>
      <Table :columns="people" :data="scores"></Table>  
    </div>
</template>
<script>
  export default {
    data(){
        return{
            people: [
                    { title: '姓名',key: 'examineeName'},
                    { title: '次数',key: 'examNum'},
                    { title: '状态',key: 'resultState', //EXAM_NO:未考试,EXAM_FLUNK:不及格,EXAM_PASS:及格
                        render: (h,params) => { // 根据条件判断内容重写
                            console.log(params.row.resultState)
                            switch(params.row.resultState){
                                case 'EXAM_NO':
                               return  h('span','未考试')
                                case 'EXAM_FLUNK':
                                return  h('span','不及格')
                                case 'EXAM_PASS':
                                return h('span','及格')
                            }
                        },
                        filters: [ // 过滤条件 
                            {
                                label: '不及格',
                                value: 'EXAM_FLUNK'
                            },
                            {
                                label: '未考试',
                                value: 'EXAM_NO'
                            },
                            {
                                label: '及格',
                                value: 'EXAM_PASS'
                            }
                        ],
                        filterMethod (value, row) { // 过滤方法
                            return row.resultState.indexOf(value) > -1           
                        }
                    },
                    { title: '成绩',key: 'examScore',
                        render: (h,params) => { // 根据条件判断内容重写
                            console.log(params.row.examScore)
                            switch(params.row.examScore){
                                case 'Over_Line':
                                return  h('span','60分以上')
                                case 'Not_Over_Line':
                                return  h('span','60分以下')
                            }
                        },
                        filters: [
                            {
                                label: '60分以上',
                                value: "Over_Line"
                            },
                            {
                                label: '60分以下',
                                value: "Not_Over_Line"
                            }
                        ],
                         filterMethod (value, row) { // 过滤方法
                            return row.examScore.indexOf(value) > -1           
                        }
                    },
                    { title: '完成时间',key: 'finishDate',
                        filters: [
                            {
                                label: '2018-8-11',
                                value: '2018-8-11'
                            },
                            {
                                label: '2018-8-21',
                                value: '2018-8-21'
                            }
                        ],
                        filterMethod (value, row) {
                            return row.finishDate.indexOf(value) > -1
                        }
                    },
                ],
                scores:[
                    { examineeName:"123",examNum:1,resultState:"EXAM_PASS",examScore: "Over_Line",finishDate:"2018-8-11"},
                    { examineeName:"456",examNum:2,resultState:"EXAM_FLUNK",examScore: "Not_Over_Line",finishDate:"2018-8-21"},
                    { examineeName:"789",examNum:3,resultState:"EXAM_NO",examScore: "Not_Over_Line",finishDate:"2018-8-21"}
                ]
        }
    },
    methods:{

    },
    created(){
        
    }
  }
  </script>

方法二: 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT博客技术分享

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值