JSFiddle - React, Tailwind, and code Playground

HTML

<script src="//unpkg.com/vue/dist/vue.js"></script>
<script src="//unpkg.com/element-ui/lib/index.js"></script>
<div id="app">
<template>
<input v-model="numberItemToShow" placeholder="edit me">
<p>Number of item to display: {{ numberItemToShow }}</p>
  <el-table :data="filterData" border style="width: 100%">
    <el-table-column prop="name" label="Name"   sortable>
    </el-table-column>
    <el-table-column prop="tag" label="Tag" :filters="[{ text: 'Home', value: 'Home' }, { text: 'Office', value: 'Office' }]" :filter-method="filterTag">
      <template scope="scope">
        <el-tag :type="scope.row.tag === 'Home' ? 'primary' : 'success'" close-transition>{{scope.row.tag}}</el-tag>
      </template>
    </el-table-column>
  </el-table>
</template>
</div>

SCSS

@import url("//unpkg.com/element-ui/lib/theme-default/index.css");

Babel + JSX

var Main = {
    data() {
      return {
      	numberItemToShow : 4,
        tableData: [{
          name: 'Zoe',
          tag: 'Home'
        }, {
          name: 'Zoe',
          tag: 'Home'
        }, {
          name: 'Zoe',
          tag: 'Home'
        }, {
          name: 'Albert',
          tag: 'Office'
        }]
      }
    },
    computed : {
    	filterData(value) {
         return this.tableData.slice(0, this.numberItemToShow);
      }
    },
    methods: {
      filterTag(value, row) {
      	console.log('Filter tag with value' + value);
        return row.tag === value;
      }
    }
  }
var Ctor = Vue.extend(Main)
new Ctor().$mount('#app')