JSFiddle - React, Tailwind, and code Playground

by redky

HTML

<script src="//unpkg.com/vue/dist/vue.js"></script>
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
<div id="app">
<template>
<a href="#" @click="update">Sort by name</a>
  <el-table :data="tableData" :default-sort="sort" style="width: 100%" ref="user" @sort-change="fn">
    <el-table-column prop="date" label="Date" sortable width="180">
    </el-table-column>
    <el-table-column prop="name" label="Name" sortable width="180">
    </el-table-column>
    <el-table-column prop="address" label="Address" :formatter="formatter">
    </el-table-column>
  </el-table>
</template>
</div>

SCSS

@import url("//unpkg.com/[email protected]/lib/theme-chalk/index.css");

Babel + JSX

var Main = {
    data() {
      return {
        sort: {prop: 'date', order: 'ascending'},
        tableData: [{
          date: '2016-05-03',
          name: 'Tom',
          address: 'No. 189, Grove St, Los Angeles'
        }, {
          date: '2016-05-02',
          name: 'Tom2',
          address: 'No. 189, Grove St, Los Angeles'
        }, {
          date: '2016-05-04',
          name: 'Tom',
          address: 'No. 189, Grove St, Los Angeles'
        }, {
          date: '2016-05-01',
          name: 'Tom',
          address: 'No. 189, Grove St, Los Angeles'
        }]
      }
    },
    methods: {
      formatter(row, column) {
        return row.address;
      },
      update() {
         const sort = {prop: 'name', order: 'descending', init: true}
         let table = this.$refs.user
         console.log(table, table.columns)
         table.sort(sort)
         console.log('?')
      },
      fn() {
      	console.log('sort')
      }
    }
  }
var Ctor = Vue.extend(Main)
new Ctor().$mount('#app')