From b8509c593a7ab3a04c5ed926e2ad825fd4c4f311 Mon Sep 17 00:00:00 2001 From: 梁灏 <admin@aresn.com> Date: Thu, 17 May 2018 18:06:42 +0800 Subject: [PATCH] update Time --- src/components/time/time.vue | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 56 insertions(+), 2 deletions(-) diff --git a/src/components/time/time.vue b/src/components/time/time.vue index c22ef35..92d6f60 100644 --- a/src/components/time/time.vue +++ b/src/components/time/time.vue @@ -1,8 +1,62 @@ <template> - <span>time</span> + <span :class="classes" @click="handleClick">time</span> </template> <script> - export default { + import { oneOf } from '../../utils/assist'; + + const prefixCls = 'ivu-time'; + export default { + name: 'Time', + props: { + time: { + type: [String, Number, Date], + required: true + }, + type: { + type: String, + validator (value) { + return oneOf(value, ['relative', 'date', 'datetime']); + }, + default: 'relative' + }, + hash: { + type: String, + default: '' + }, + interval: { + type: Number, + default: 60 + } + }, + data () { + return { + date: '' + }; + }, + computed: { + classes () { + return [ + `${prefixCls}`, + { + [`${prefixCls}-with-hash`]: this.hash + } + ]; + } + }, + methods: { + handleClick () { + if (this.hash !== '') window.location.hash = this.hash; + } + }, + mounted () { + this.setTime(); + this.timer = setInterval(() => { + this.setTime(); + }, 1000 * this.interval); + }, + beforeDestroy () { + if (this.timer) clearInterval(this.timer); + } }; </script> \ No newline at end of file -- libgit2 0.21.4