Form-datepicker日期選擇器
阿新 • • 發佈:2019-01-08
<!--DatePicker 日期選擇器:用於選擇或輸入日期 1.選擇日,以「日」為基本單位,基礎的日期選擇控制元件 基本單位由type屬性指定。快捷選項需配置picker-options物件中的shortcuts,禁用日期通過 disabledDate 設定,傳入函式--> <div class="block"> <span class="demonstration">預設</span> <el-date-picker v-model="value1" type="date" placeholder="選擇日期"> </el-date-picker> </div> <div class="block"> <span class="demonstration">帶快捷選項</span> <el-date-picker v-model="value2" align="right" type="date" placeholder="選擇日期" :picker-options="pickerOptions1"> </el-date-picker> </div>
<script> new Vue({ el: '#app', data() { return { pickerOptions1: { disabledDate(time) { return time.getTime() > Date.now(); }, shortcuts: [{ text: '今天', onClick(picker) { picker.$emit('pick', new Date()); } }, { text: '昨天', onClick(picker) { const date = new Date(); date.setTime(date.getTime() - 3600 * 1000 * 24); picker.$emit('pick', date); } }, { text: '一週前', onClick(picker) { const date = new Date(); date.setTime(date.getTime() - 3600 * 1000 * 24 * 7); picker.$emit('pick', date); } }] }, value1: '', value2: '', }; } }) </script>
<!--2.其他日期單位 通過擴充套件基礎的日期選擇,可以選擇周、月、年或多個日期--> <div class="container"> <div class="block"> <span class="demonstration">周</span> <el-date-picker v-model="value3" type="week" format="yyyy 第 WW 周" placeholder="選擇周"> </el-date-picker> </div> <div class="block"> <span class="demonstration">月</span> <el-date-picker v-model="value4" type="month" placeholder="選擇月"> </el-date-picker> </div> </div> <div class="container"> <div class="block"> <span class="demonstration">年</span> <el-date-picker v-model="value5" type="year" placeholder="選擇年"> </el-date-picker> </div> <div class="block"> <span class="demonstration">多個日期</span> <el-date-picker type="dates" v-model="value14" placeholder="選擇一個或多個日期"> </el-date-picker> </div> </div>
<!--3.選擇日期範圍,可在一個選擇器中便捷地選擇一個時間範圍
在選擇日期範圍時,預設情況下左右面板會聯動。如果希望兩個面板各自獨立切換當前月份,可以使用unlink-panels屬性解除聯動。-->
<div class="block">
<span class="demonstration">預設</span>
{{value6}}
<el-date-picker
v-model="value6"
type="daterange"
range-separator="至"
start-placeholder="開始日期"
end-placeholder="結束日期">
</el-date-picker>
</div>
<div class="block">
<span class="demonstration">帶快捷選項</span>
<el-date-picker
v-model="value7"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="開始日期"
end-placeholder="結束日期"
:picker-options="pickerOptions2">
</el-date-picker>
</div>
<script>
new Vue({
el: '#app',
data() {
return {
pickerOptions2: {
shortcuts: [{
text: '最近一週',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit('pick', [start, end]);
}
}, {
text: '最近一個月',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
picker.$emit('pick', [start, end]);
}
}, {
text: '最近三個月',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
picker.$emit('pick', [start, end]);
}
}]
},
value6: '',
value7: ''
};
}
})
</script>
<!--4.日期格式
使用format指定輸入框的格式;使用value-format指定繫結值的格式。
預設情況下,元件接受並返回Date物件。-->
<div class="block">
<span class="demonstration">預設為 Date 物件</span>
<div class="demonstration">值:{{ value10 }}</div>
<el-date-picker
v-model="value10"
type="date"
placeholder="選擇日期"
format="yyyy 年 MM 月 dd 日">
</el-date-picker>
</div>
<div class="block">
<span class="demonstration">使用 value-format</span>
<div class="demonstration">值:{{ value11 }}</div>
<el-date-picker
v-model="value11"
type="date"
placeholder="選擇日期"
format="yyyy 年 MM 月 dd 日"
value-format="yyyy-MM-dd">
</el-date-picker>
</div>
<div class="block">
<span class="demonstration">時間戳</span>
<div class="demonstration">值:{{ value12 }}</div>
<el-date-picker
v-model="value12"
type="date"
placeholder="選擇日期"
format="yyyy 年 MM 月 dd 日"
value-format="timestamp">
</el-date-picker>
</div>
<!--5.預設顯示日期
在選擇日期範圍時,指定起始日期和結束日期的預設時刻。
選擇日期範圍時,預設情況下,起始日期和結束日期的時間部分均為當天的 0 點 0 分 0 秒。通過default-time可以分別指定二者的具體時刻。default-time接受一個數組,其中的值為形如12:00:00的字串,第一個值控制起始日期的時刻,第二個值控制結束日期的時刻。-->
<div class="block">
<p>元件值:{{ value13 }}</p>
<el-date-picker
v-model="value13"
type="daterange"
start-placeholder="開始日期"
end-placeholder="結束日期"
:default-time="['00:00:00', '23:59:59']">
</el-date-picker>
</div>
Attributes
引數 | 說明 | 型別 | 可選值 | 預設值 |
---|---|---|---|---|
readonly | 完全只讀 | boolean | — | false |
disabled | 禁用 | boolean | — | false |
editable | 文字框可輸入 | boolean | — | true |
clearable | 是否顯示清除按鈕 | boolean | — | true |
size | 輸入框尺寸 | string | large, small, mini | — |
placeholder | 非範圍選擇時的佔位內容 | string | — | — |
start-placeholder | 範圍選擇時開始日期的佔位內容 | string | — | — |
end-placeholder | 範圍選擇時結束日期的佔位內容 | string | — | — |
type | 顯示型別 | string | year/month/date/dates/ week/datetime/datetimerange/daterange | date |
format | 顯示在輸入框中的格式 | string | 見日期格式 | yyyy-MM-dd |
align | 對齊方式 | string | left, center, right | left |
picker-options | 當前時間日期選擇器特有的選項參考下表 | object | — | {} |
range-separator | 選擇範圍時的分隔符 | string | — | '-' |
default-value | 可選,選擇器開啟時預設顯示的時間 | Date | 可被new Date() 解析 |
— |
default-time | 範圍選擇時選中日期所使用的當日內具體時刻 | string[] | 陣列,長度為 2,每項值為字串,形如12:00:00 ,第一項指定開始日期的時刻,第二項指定結束日期的時刻,不指定會使用時刻 00:00:00 |
— |
value-format | 可選,繫結值的格式。不指定則繫結值為 Date 物件 | string | 見日期格式 | — |
name | 原生屬性 | string | — | — |
unlink-panels | 在範圍選擇器裡取消兩個日期面板之間的聯動 | boolean | — | false |
¶Picker Options
引數 | 說明 | 型別 | 可選值 | 預設值 |
---|---|---|---|---|
shortcuts | 設定快捷選項,需要傳入 { text, onClick } 物件用法參考 demo 或下表 | Object[] | — | — |
disabledDate | 設定禁用狀態,引數為當前日期,要求返回 Boolean | Function | — | — |
¶Shortcuts
引數 | 說明 | 型別 | 可選值 | 預設值 |
---|---|---|---|---|
text | 標題文字 | string | — | — |
onClick | 選中後的回撥函式,引數是 vm,可通過觸發 'pick' 事件設定選擇器的值。例如 vm.$emit('pick', new Date()) | function | — | — |