uni-app 解決釘釘小程序日期組件uni-datetime-picker不兼容ios問題(轉(zhuǎn)載)
1. 不兼容的寫法,uni-datetime-picker 不兼容IOS
<uni-forms-item label="產(chǎn)生時間" required name="generateTime">
<uni-datetime-picker class="custom-datetime-picker" :disabled="isDisabled"
v-model="generate.generateTime" :clear-icon="false" :clear="false" />
</uni-forms-item>
2. 兼容的寫法,使用 dd.datePicker 實現(xiàn)。
- 就是自定義一個
view然后通過click事件觸發(fā)dd.datePicker。
<uni-forms-item label="產(chǎn)生時間" required name="generateTime">
<view @click="showPicker" class="datetime-picker">
<uni-icons custom-prefix="custom-icon" class="icon-calendar" type="calendar" size="20" color="#c2c6cd"/>
{{generate.generateTime || '請選擇時間'}}
</view>
</uni-forms-item>
- 在優(yōu)化一下自定義的日期組件的樣式
.datetime-picker,.datetime-picker-placeholder{ width: 100%; flex: 1; line-height: 1; font-size: 14px; height: 40px; display: flex; box-sizing: border-box; flex-direction: row; align-items: center; border: 1px solid #dcdfe6; border-radius: 4px; padding-left:3px; } .icon-calendar{ margin-right:2px; }
3. 實現(xiàn)效果,自測IOS可以兼容
樣式跟uni-ui的 uni-datetime-picker 組件樣式一樣。

在ios上’-‘沒法被解析為時間戳的解決方案,使用正則將’-‘替換為’/'。安卓,pc端,ios端均可適配。
代碼如下:
//解決ios中不能用'-'解析成時間戳問題 let dateStr = '2021-04-26 10:26:14' let newDataStr = dateStr.replace(/\.|\-/g, '/') let date = new Date(newDataStr); let timestamp = date.getTime(); console.log(timestamp)
轉(zhuǎn)載自:https://xiehao.blog.csdn.net/article/details/134188419

浙公網(wǎng)安備 33010602011771號