使用Vue實(shí)現(xiàn)帶拖動(dòng)和播放功能的時(shí)間軸
帶拖動(dòng)和播放功能的時(shí)間軸
timeline-slider-vue

環(huán)境
- node V12.20.0
- npm 6.14.8
Install
npm install --save timeline-slider-vue
Usage
main.js
import TimelineSliderVue from 'timeline-slider-vue'
import 'timeline-slider-vue/lib/timeline-slider-vue.css'
Vue.use(TimelineSliderVue)
```vue
<TimelineSliderVue
:date="date"
:mask="mask"
:mark-date="markDate"
:lock-date="lockDate"
:play="play"
:play-speed="playSpeed"
@change="handleChange"
@input="handleInput">
<div
slot="sliderContent"
slot-scope="scope">
{{ scope.data }}
</div>
</TimelineSliderVue>
使用示例
<template>
<div id="app">
<TimelineSliderVue
:date="date"
:mask="mask"
:mark-date="markDate"
:lock-date="lockDate"
:play="play"
:play-speed="playSpeed"
@change="handleChange"
@input="handleInput"
>
<div slot="sliderContent" slot-scope="scope">
{{ scope.data }}
</div>
</TimelineSliderVue>
</div>
</template>
<script>
export default {
data() {
return {
playSpeed: 1000, // 播放速度
play: false, // 自動(dòng)播放
lockFlag: false,
markFlag: false,
lockDate: [], // 鎖定的日期(滑動(dòng)結(jié)束時(shí)自動(dòng)跳到指定的日期)
markDate: [], // 做標(biāo)記的日期
mask: true,
date: '2022-06-01',
}
},
methods: {
handleInput(date, value) {
console.log('input', date, value)
},
handleChange(date, value) {
console.log('change', date, value)
},
},
}
</script>
豎向模式
<TimelineSliderVue
vertical
height="240px"
:max-value="100"
:min-value="0"
:init-value="40"
@change="handleChange"
@input="handleInput"
>
<div slot="sliderContent" slot-scope="scope">
<div>{{ scope.value }}</div>
</div>
</TimelineSliderVue>
Available props
| 參數(shù) | 類型 | 默認(rèn)值 | 說明 |
|---|---|---|---|
| vertical | Boolean | false | 豎向模式(只有滑塊功能樣式,沒有日期等功能) |
| initValue | Number | 0 | v-model 綁定的初始值(僅在 vertical = true 時(shí)生效) |
| minValue | Number | 0 | 最小值(僅在 vertical = true 時(shí)生效) |
| maxValue | Number | 100 | 最大值(僅在 vertical = true 時(shí)生效) |
| date | String | 當(dāng)日 | yyyy-MM-dd 格式的日期,根據(jù)傳入的日期,設(shè)置滑塊的位置 |
| mask | Boolean | true | 拖動(dòng)過程中是否顯示遮罩層 |
| mark-date | Array | [] | 一些特殊日期標(biāo)注,例如 [‘2022-03-08’, ‘2022-06-18’, ‘2022-11-11’] |
| lock-date | Array | [] | 鎖定的日期,只能在指定日期下切換,當(dāng)滑塊拖動(dòng)到其他位置,自動(dòng)跳到離指定日期最近的日期處例如 [‘2022-03-08’, ‘2022-06-18’, ‘2022-11-11’] |
| play | Boolean | false | 播放 |
| playSpeed | Number | 1000 | 播放速度,同 setInterval milliseconds 參數(shù) |
slot
| 參數(shù) | 說明 |
|---|---|
| sliderContent | 滑塊內(nèi)容 |
Events
| 事件名稱 | 說明 | 回調(diào)參數(shù) |
|---|---|---|
| change | 值改變時(shí)觸發(fā)(使用鼠標(biāo)拖拽時(shí),只在松開鼠標(biāo)后觸發(fā)) | 改變后的值 |
| input | 數(shù)據(jù)改變時(shí)觸發(fā)(使用鼠標(biāo)拖拽時(shí),活動(dòng)過程實(shí)時(shí)觸發(fā)) | 改變后的值 |
Project setup
yarn install
Compiles and hot-reloads for development
yarn serve
Compiles and minifies for production
yarn build
Lints and fixes files
yarn lint
到此這篇關(guān)于使用Vue實(shí)現(xiàn)帶拖動(dòng)和播放功能的時(shí)間軸的文章就介紹到這了,更多相關(guān)Vue時(shí)間軸內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
antd日期選擇器禁止選擇當(dāng)天之前的時(shí)間操作
這篇文章主要介紹了antd日期選擇器禁止選擇當(dāng)天之前的時(shí)間操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2020-10-10
Vue3項(xiàng)目中引用TS語(yǔ)法的實(shí)例講解
這篇文章主要介紹了Vue3項(xiàng)目中引用TS語(yǔ)法的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05
Vue MVVM模型與data及methods屬性超詳細(xì)講解
MVVM旨在利用WPF中的數(shù)據(jù)綁定函數(shù),通過從視圖層中幾乎刪除所有GUI代碼(代碼隱藏),更好地促進(jìn)視圖層開發(fā)與模式其余部分的分離,這篇文章主要介紹了Vue MVVM模型與data及methods屬性2022-10-10
解決Vue的文本編輯器 vue-quill-editor 小圖標(biāo)樣式排布錯(cuò)亂問題
這篇文章主要介紹了解決Vue的文本編輯器 vue-quill-editor 小圖標(biāo)樣式排布錯(cuò)亂問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2020-08-08
element ui表格實(shí)現(xiàn)下拉篩選功能
這篇文章主要為大家詳細(xì)介紹了element ui表格實(shí)現(xiàn)下拉篩選功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11
vue router下的html5 history在iis服務(wù)器上的設(shè)置方法
這篇文章主要介紹了vue router下的html5 history在iis服務(wù)器上的設(shè)置方法,需要的朋友參考下吧2017-10-10
vue生成初始化名字相近的變量并放到數(shù)組中的示例代碼
項(xiàng)目上有一個(gè)需求,頁(yè)面上有50、60個(gè)數(shù)據(jù)變量,是依次排序遞增的變量,中間有個(gè)別變量用不到,不想把這些變量直接定義在data() { }內(nèi),這篇文章主要介紹了vue生成初始化名字相近的變量并放到數(shù)組中的示例代碼,需要的朋友可以參考下2024-08-08

