2017-04-05 12 views
1

「updated_at」と「order_at」というコードを使用して配列を並べ替えるのに手伝ってもらう必要がありますが、今すぐコードを検索して元に戻すことはできますが、orderbyには届きません。 :いずれかが私を助けてくださいすることができ、ここに起因するコードVue 2 v-for multiple orderby

の一部は、あなたがラジオボタンを選択するとき、messagesWithFilterが再計算されるように、あなたは、あなたのラジオボタンがsortKeyをモデルにしたい任意のヘルプ

data: { 
     items: array goes here, 
     searchObj: { 
      msgText: '', 
      desc_en: '', 
      created_at: '', 
      updated_at: '', 
      sort: false 
     }, 
     sortKey: 'updated_at' 
    }, 

    filters: { 
     formatDate: function (date_data) { 
      moment.locale('{{$user->lang}}'); 
      return moment(date_data).format('lll') + ' EST'; 
     } 
    }, 

    methods: { 
     orderBy: function (data) { 
      alert(data); 
     } 
    }, 
    computed: { 
     itemsWithFilter: function() { 
      var that = this; 
      return that.items 
      .filter(function (item) { 
       if(item.desc_en) { 
        results = item.name_en.toLowerCase().indexOf(that.searchObj.msgText.toLowerCase()) > -1; 
        results2 = item.desc_en.toLowerCase().indexOf(that.searchObj.msgText.toLowerCase()) > -1; 
        return results + results2; 
       } 
      }) 
      .sort(function (a, b) { 
       if (that.searchObj.sort) 
        return a[that.sortKey] > b[that.sortKey] ? 1 : -1; 
       else 
        return a[that.sortKey] > b[that.sortKey] ? -1 : 1; 
      }) 
     } 
    } 

答えて

2

に感謝されます。

<input type="radio" name="orderBy" v-model="sortKey" id="normal" value="message" checked="checked"><label for="normal">orderBy normal (this should be auto selected on load) 
<br> 
<input type="radio" name="orderBy" v-model="sortKey" id="created_at" value="created_at"><label for="created_at">orderBy created_at 
<br> 
<input type="radio" name="orderBy" v-model="sortKey" id="updated_at" value="updated_at"><label for="updated_at">orderBy updated_at 
+0

こんにちは、ロイは答えに感謝しています。あなたが知っている時には、とても簡単です... – user3466947

+0

私が気づくのは、を選択すると、Z ... A、代わりに、またはA ... m ... zの昇順が表示されます。他のものは正しい – user3466947

+0

ソート順はソート機能によって異なります。 'if(that.searchObj.sort && that.sortKey!== 'message')...'のようなことをして、メッセージが逆順になるようにすることができます。 –