データテーブル・コンポーネントのデフォルトでのソート機能のUIは以下のようになっている。
このソートボタンを別の場所で使いたい場合や、
デザインを自由に変更したい場合の実装方法について。
実装方法
script内のdata内で以下プロパティを定義。
sortByプロパティは、対象にしたいカラム名を指定する。
sortBy: 'name',
sortDesc: false
method内で以下の関数を定義。(名前は自由)
sortDescの真偽値を反転させている。
methods: {
  toggleOrder () {
    this.sortDesc = !this.sortDesc
  }
}
template内のv-data-tableタグに、
sort-by.syncオプションと
sort-desc.syncオプションを追加。
<v-data-table
  :headers="headers"
  :items="items"
  :sort-by.sync="sortBy"
  :sort-desc.sync="sortDesc"
></v-data-table>
あとは適当にボタンなどを配置し、
クリックイベントなどで、先ほどmethodで定義した関数(toggleOrder)
を発火させることでソートが切り替わるようになる。
以下のサンプルでは、v-iconを二つ配置し、
ソートの昇順と降順でアイコンを切り替えている(上矢印と下矢印)
<v-btn
  icon
  small
  color="grey darken-1"
  class="ml-3"
  @click="toggleOrder"
  ><v-icon v-if="sortDesc">mdi-arrow-down</v-icon
  ><v-icon v-else>mdi-arrow-up</v-icon></v-btn
>


