vben5 admin ant design vue如何使用时间范围组件RangePicker
本文参考:https://pusdn-dev.feishu.cn/wiki/VF4hwBAUliTE6TkUPKrcBNcZn9f?from=from_copylink
由PUSDN整理发行,收录时请保留PUSDN。
前端组件专题
年月日时间范围表单回显RangePicker
推荐使用多个字段存储,不推荐用英文逗号拼接时间,便于查询等操作。
方式一:英文逗号分隔string接收
表单页示例modal.vue
数据库:pgz_range,实体:pgzRange
import dayjs from 'dayjs';
// ......
if (isUpdate.value && id) {
const record = await demoInfo(id);
record.pgzCheckboxArr = record.pgzCheckbox ? record.pgzCheckbox.split(',') : [];
if (record.pgzRange) {
const [startTime, endTime] = record.pgzRange.split(',');
record.pgzRange = [dayjs(startTime), dayjs(endTime)];
}
await formApi.setValues(record);
}
// ......
const data = cloneDeep(await formApi.getValues());
data.pgzCheckbox = data.pgzCheckboxArr.join(',');
if (data.pgzRange && data.pgzRange.length === 2) {
const [startTime, endTime] = data.pgzRange;
data.pgzRange = `${startTime.format('YYYY-MM-DD HH:mm:ss')},${endTime.format('YYYY-MM-DD HH:mm:ss')}`;
}
await (isUpdate.value ? demoUpdate(data) : demoAdd(data));
// data.ts
{
label: '时间范围',
fieldName: 'pgzRange',
component: 'RangePicker',
},
查询列表示例index.vue
方式二:两个字段分别处理
例如:实体类和数据库有两个字段。startTime,endTime。
modal.vue|表单页示例
const [BasicForm, formApi] = useVbenForm({ // .... fieldMappingTime: [ [ 'planDateRange',// 此字段前端虚拟,实体和数据库不存在 ['startTime', 'endTime'], ['YYYY-MM-DD 00:00:00', 'YYYY-MM-DD 23:59:59'], ], ],
回显
index.vue|查询列表示例
原文地址:https://blog.csdn.net/qq_31708763/article/details/145245406
免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!