直播电商平台开发,自定义日期区间选择器组件
直播电商平台开发,自定义日期区间选择器组件
1 | <!--<br> * @Description: 自定义日期区间选择器<br> * @Author: knight<br> * @ Date : 2022-10-08 09:39:46<br> * @LastEditTime: 2022-10-08 17:03:39<br> * @LastEditors: knight<br>--><br><template><br> <view><br> <nut-row type= "flex" ><br> <nut-col :span= "14" ><br> <nut-cell title= "日期区间" :desc= "start ? `${startDesc}` : '开始日期'" @click= "startShow = true" /><br> </nut-col><br> <nut-col :span= "10" ><br> <nut-cell title= "~" :desc= "end ? `${endDesc}` : '结束日期'" @click= "endShow = true" /><br> </nut-col><br> </nut-row><br> <nut-datepicker<br> v-model= "start" <br> v-model:visible= "startShow" <br> :min- date = "minDate" <br> :max- date = "maxDate" <br> :is-show-chinese= "false" <br> :three-dimensional= "false" <br> @confirm= "startConfirm" <br> /><br> <nut-datepicker<br> v-model= "end" <br> v-model:visible= "endShow" <br> :min- date = "minDate" <br> :max- date = "maxDate" <br> :is-show-chinese= "false" <br> :three-dimensional= "false" <br> @confirm= "endConfirm" <br> /><br> </view><br></template><br><script setup><br> import { defineComponent, ref, watchEffect } from 'vue' ;<br> import * as dayjs from 'dayjs' ;<br> <br> interface MyDateRangePickerProps {<br> modelValue?: any[],<br> minDate?: any,<br> maxDate?: any,<br> }<br> const props = withDefaults(defineProps<MyDateRangePickerProps>(), {<br> minDate: dayjs().subtract(2, 'year' ).toDate(),<br> maxDate: new Date (),<br> });<br> const emit = defineEmits([ 'update:modelValue' ]);<br> <br> const data = ref<any[]>();<br> const start = ref();<br> const startShow = ref(false);<br> const startDesc = ref();<br> const end = ref();<br> const endShow = ref(false);<br> const endDesc = ref();<br> <br> watchEffect(() => {<br> data.value = [props.modelValue?.[0], props.modelValue?.[1]];<br> start.value = props.modelValue?.[0];<br> startDesc.value = props.modelValue?.[0];<br> end .value = props.modelValue?.[1];<br> endDesc.value = props.modelValue?.[1];<br> });<br> <br> // 开始日期确定事件<br> function startConfirm({ selectedValue, selectedOptions }) {<br> startDesc.value = selectedOptions.map((option) => option.text).join('-');<br> start.value = selectedValue.join('-');<br> if(dayjs(start.value).isAfter(end.value)){<br> end.value = undefined;<br> }<br> data.value = [start.value ?? null, end.value ?? null];<br> emit('update:modelValue', data.value);<br> }<br> <br> // 结束日期确定事件<br> function endConfirm({ selectedValue, selectedOptions }) {<br> endDesc.value = selectedOptions.map((option) => option.text).join('-');<br> end.value = selectedValue.join('-');<br> if(dayjs(start.value).isAfter(end.value)){<br> start.value = undefined;<br> }<br> data.value = [start.value ?? null, end.value ?? null];<br> emit('update:modelValue', data.value);<br> }<br></script><br><script><br> export default defineComponent({<br> name: 'MyDateRangePicker',<br> });<br></script> |
以上就是 直播电商平台开发,自定义日期区间选择器组件,更多内容欢迎关注之后的文章
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
2022-09-06 直播平台软件开发,Android 跳转权限管理界面总结
2022-09-06 直播源码开发,分页查询,可直接跳转到某个指定页面
2022-09-06 直播平台搭建源码,把bitmap插入到相册和相机图库
2021-09-06 直播带货app源码,前端商城图片资源优化
2021-09-06 直播系统源码,滚动条hover时变粗、改变颜色
2021-09-06 直播视频网站源码用CSS 快速实现烟花绽放