不同瀏覽器的dateTimePicker選擇問題
在蘋果的ios瀏覽器 safari、IE這些瀏覽器中,日期格式爲yyyy/mm/dd,中間是/來分隔日期,chrome中幾種格式都可以顯示
Element-UI的版本爲1.4.1,使用DateTimePicker組件在IE和safari無法展示指定格式的日期,後面升級版本Element-UI的版本也可以解決此問題~
在使用Element-UI的DateTimePicker組件展示日期,需要在頁面中顯示爲yyyy-mm-dd這種格式,代碼如下:
<el-date-picker
@change="dateChange"
v-model="ruleForm.endTime"
type="datetime"
placeholder="選擇日期時間"
value-format=" yyyy-MM-dd HH:mm:ss"
format="yyyy-MM-dd HH:mm:ss"
>
</el-date-picker>
// js
dateChange(val) {
this.ruleForm.endTime = val;
}
因爲是通過@change中的方法,來給ruleForm.endTime賦值,並不是直接賦值,直接通過數據綁定獲取的時間格式有問題:自動會在後面加上時區,不太方便處理,所以直接通過這種change方法獲取的數據,是經過value-format格式化日期格式,就會按照yyyy-MM-dd hh:mm:ss來進行設置。
在safari和IE中選擇時間,頁面無法顯示,因爲這兩個瀏覽器,默認顯示的日期格式爲: yyyy/mm/dd
解決方式:
先將yyyy-MM-dd 轉換爲 yyyy/MM/dd,再提交的時候,再將yyyy/MM/dd轉換爲yyyy-MM-dd即可
dateChange(val) {
val = val.replace(/-/g, '/');
this.ruleForm.endTime = val;
}
submitForm (formName) {
this.ruleForm.endTime = this.ruleForm.endTime.replace(/\//g, '-');
// 提交表單
...
}