vue過濾器對時間格式的處理

1、效果圖

 

2、局部過濾器案例

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title></title>
        <link href="../css/bootstrap.min.css" rel="stylesheet">
        <script src="../js/vue.js"></script>
    </head>
<body>
    <div id="app">
        <div class="panel panel-primary">
            <div class="panel-heading">
                <h3 class="panel-title">添加品牌</h3>
            </div>
            <div class="panel-body from-inline">
                <label>
                    Id:
                    <input type="text" class="form-control" v-model="id">
                </label>
                <label>
                    Name:
                    <input type="text"  class="form-control" v-model="name">
                </label>
                <input type="button" class="btn btn-primary" value="添加" @click="add">
                <label>
                    搜索名稱關鍵字:
                    <input type="text" class="form-control" v-model="keyword">
                </label>
            </div>
        </div>
        <table class="table table-bordered table-hover table-striped">
            <thead>
                <tr>
                    <th>Id</th>
                    <th>Name</th>
                    <th>Ctime</th>
                    <th>操作</th>
                </tr>
            </thead>
            <tbody>
                <tr v-for="item in search(keyword)" :key="item.id">
                    <td>{{item.id}}</td>
                    <td>{{item.name}}</td>
                    <td>{{item.cdate | timeDateFormat }}</td>
                    <td>
                        <a href="" @click.prevent="del(item.id)">
                            刪除
                        </a>
                    </td>
                </tr>
            </tbody>
        </table>
    </div>
<script>
    const  vm = new Vue({
        el:'#app',
        data:{
            id : '',
            name : '',
            keyword : '',
            list:  [
                        { id : 1 , name : '奔馳' , cdate : new Date() },
                        { id : 2 , name : '寶馬' , cdate : new Date() },
                        { id : 3 , name : '瑪莎拉蒂' , cdate : new Date() },
                        { id : 4 , name : '大奔' , cdate : new Date() },
                        { id : 5 , name : '蘭德酷路澤' , cdate : new Date() },
                    ]
        },
        methods:{
            add () {
                var con = {id : this.id, name : this.name, cdate : new Date()};
                this.list.push(con);
                this.id = this.name = '';
            },
            del (id) {
                var index = this.list.findIndex( item => {
                    if(item.id == id){
                        return true;
                    }
                })
                this.list.splice(index,1)
            },
            search (keyword) {
                var arr = [];
                this.list.forEach(item => {
                    if(item.name.indexOf(keyword) != -1){
                        arr.push(item);
                    }
                })
                return arr;
            }
        },
        filters : {
            timeDateFormat : function (msg) {
                //講字符串轉爲Date格式
                var mt = new Date(msg);
                //獲取年份
                var year = mt.getFullYear();
                //從0開始,獲取月份
                var month = (mt.getMonth() + 1).toString().padStart(2,'0');
                //獲取天數
                var day = mt.getDay().toString().padStart(2,'0');
               /* if (con === 'yyyy/mm/dd'){
                    return year + "/" + month + "/" + day;
                }*/
               //獲取小時
               var hh = mt.getHours().toString().padStart(2,'0');
               //獲取分鐘
                var mm = mt.getMinutes().toString().padStart(2,'0');
                //獲取秒
                var ss = mt.getSeconds().toString().padStart(2,'0');

                return year + "/" + month + "/" + day + "/ " + hh + ":" + mm + ":" + ss;

            }
        }
    });
</script>
</body>
</html>

 padStart方法

 
方法 說明
String.prototype.padStart(maxLength, fillString=’’) 字符串長度爲maxLength,不夠的在開頭用fillString填充,
例如 :“123”.padStart(6,“a”)=“aaa123”
String.prototype.padEnd(maxLength, fillString=’’) 這個和上面類似,是在結尾處填充,
例如"123".padEnd(6,“a”)=“123aaa”

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章