<el-date-picker
v-model="time_range"
:clearable="false"
align="center"
type="datetimerange"
range-separator="~"
start-placeholder="from"
end-placeholder="to"
size="small"
/>
需要注意以下几点:
- 选择的时间范围为数组
- 清除选择的时间范围后返回null,而不是空数组[ ]
- 数组中的起止时间带有时区。故传参时务必根据数据表时间字段的类型(是否带时区)来判断是否需要格式化时间。如需格式化时间,可通过以下方式:
time_range.map((item) =>
this.$dayjs(item).format("YYYY-MM-DD HH:mm:ss")
)
- 使用post请求。因为传递的时间范围参数是数组,如果用get请求传数组,后端是获取不到的
后端条件查询判断是否有时间范围查询时可用如下方式:
if (time_range && time_range.length !== 0) {
sql += ` and order_create_time between '${time_range[0]}' and '${time_range[1]}'`;
}