【小程序】封装时间选择组件:用单元格van-cell和插槽slot,包括起始时间和终止时间

这篇具有很好参考价值的文章主要介绍了【小程序】封装时间选择组件:用单元格van-cell和插槽slot,包括起始时间和终止时间。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

效果

可以选择起始时间和终止时间,并显示。
时间选择器放在van-cell的value插槽中。

【小程序】封装时间选择组件:用单元格van-cell和插槽slot,包括起始时间和终止时间,小程序,小程序,javascript,开发语言
用的库:
https://vant-contrib.gitee.io/vant-weapp/#/home
https://dayjs.fenxianglu.cn/category/

用的组件:Cell单元格、DatetimePicker时间选择、Popup弹出层

"usingComponents": {
      "van-popup": "@vant/weapp/popup/index",
      "van-cell": "@vant/weapp/cell/index",
      "van-cell-group": "@vant/weapp/cell-group/index",
      "van-datetime-picker": "@vant/weapp/datetime-picker/index"
    }

代码

HTML

注意,这里的van-cell的value放的是时间选择器,以插槽的形式实现。

根据文档:这里要求用<view slot="">实现value的插槽,而不是<view slot="value"><view slot>

【小程序】封装时间选择组件:用单元格van-cell和插槽slot,包括起始时间和终止时间,小程序,小程序,javascript,开发语言
data-type用来在js方法中得知选择的是开始还是结束的时间。其他属性见文档。

<van-cell-group>
 <van-cell title="销售日期" border="{{ false }}" title-width="60px">
   <!-- value用slot,不能slot="value",不能slot,必须slot="" -->
   <view slot="">
     <view class="start timeItem inline-block" bindtap="showPopup" data-type="start">
       {{ date.start }}
     </view><view class="end timeItem inline-block" bindtap="showPopup" data-type="end">
       {{ date.end }}
     </view>
   </view>
 </van-cell>
</van-cell-group>

CSS

  .inline-block {
    /*让它们一行*/
    display: inline-block;
  }
  .timeItem {
    /*加点边框、间距*/
    margin: 0 4px;
    border: 1px solid #888;
    padding: 0 8px;
  }

JavaScript

会用到dayjs库。

data() {
  return {
    showPop: false,
    dataType: '',//选择的时间是开始还是结束
    date: {
          start: dayjs().format('YYYY-MM-DD'),
          end: dayjs().format('YYYY-MM-DD')
        },
    currentDate: new Date().getTime(),//在时间选择器选择的时间
    minDate: new Date().getTime()
  }
},
methods: {
	 //弹出
     showPopup(e) {
       this.showPop = true
       //在弹出框后得知是开始/结束
       this.dataType = e.currentTarget.dataset.type
     },
	 //关闭
     colsePopup() {
       this.showPop = false
     },
	 //选择的时间赋值
     timeInput(event) {
       this.currentDate = event.detail
     },
	 //点击“确认”后
	 timeConfirm() {
        // currentDate是时间戳(毫秒)
        if (this.dataType === 'start') {
          this.date.start = dayjs(this.currentDate).format('YYYY-MM-DD')
        } else {
          this.date.end = dayjs(this.currentDate).format('YYYY-MM-DD')
        }
        this.colsePopup()
      }
   }

其他

这个功能感觉很常见,记录一下。
只是记录自己敲码的过程,水平很烂。
功能并不完善,比如没有end必须>=start的判断等。文章来源地址https://www.toymoban.com/news/detail-518747.html

到了这里,关于【小程序】封装时间选择组件:用单元格van-cell和插槽slot,包括起始时间和终止时间的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序,封装身高体重选择器组件

    wxml代码: scrollLeft 保证能选择到最小值和最大值 bounces 关闭ios的回弹效果,回弹之前会有显示复数和大于最大值的情况(也可以不关闭,设置例如:min = valmin?min:val) 6:间隔+刻度的宽度 +1 是额外加一个刻度,这样才完整。 index%5===0: 5的倍数为长刻度,否则为短刻度 wxs代码

    2024年02月12日
    浏览(51)
  • 微信小程序原生开发功能合集二:下拉选择组件封装

      本章实现小程序中下拉选择组件的封装实现,通过自定义组件的方式实现下拉选择功能,使用小程序的picker组件实现下拉数据的展示及相关自定义处理,封装数据加载过程,数据切换逻辑监听等。   本节实现select组件的开发说明,另使用nodejs创建express服务器,为远程

    2024年02月02日
    浏览(58)
  • 微信小程序--下拉选择框组件封装,可CV直接使用

            接到的项目需求,查看ui设计图后,由于微信小程序官方设计的下拉选择框不符合需求,而且常用的第三方库也没有封装类似的,所以选择自己自定义组件。在此记录一下,方便日后复用。         ui设计图如下:                   微信官方提供的选择框         对比发现

    2024年02月05日
    浏览(48)
  • 小程序日期(日历)时间 选择器组件

    封装一个小程序日期(日历)时间 选择器组件 简要说明: 一共两个版本 ,date-time-picker 和 date-time-picker-plus. date-time-picker 弹窗层是 基于 vant-weapp 的 van-popup 组件实现的 date-time-picker-plus 弹窗层是 基于 小程序 自带的 page-container 组件来实现的 * 注意:date-time-picker 需要下载 v

    2024年02月01日
    浏览(47)
  • 微信小程序TDesign封装的时间选择器,可以选中今天、昨天、上周、上月等功能

    微信小程序TDesign封装的日期选择器 可以选中今天、昨天、上周、上月等功能。 确定返回日期时,会判断时间戳大小,返回createdTime,endTime 组件图片展示 父组件使用组件 组件wxml 组件wxss 组件JSON 组件js

    2024年02月15日
    浏览(86)
  • 微信小程序原生写法——24小时时间选择器组件

    使用picker-view来封装成的一个时间选择器 开始时间是当前时间的一个小时之后,秒默认是0秒 可能还有一些情况未处理,后续发现再更新 js文件 第一版:略繁琐 第二版js文件:根据当前时间的时间戳A与24小时之后的时间戳B两者来进行处理获取对应的列表 json文件 wxml文件 wxs

    2024年02月04日
    浏览(57)
  • uniapp、小程序自定义选择日、周、月、季、年的时间选择器组件

    本组件用到了uni-ui的uni-popup弹窗组件 废话不多说直接上代码 https://ext.dcloud.net.cn/plugin?id=16387 https://ext.dcloud.net.cn/plugin?id=16387 属性参数说明 : ref用于控制picker的弹出与隐藏,组件内有open和close函数 参数名 作用 类型 默认值 type 控制打开piker时tabs默认显示的位置 String 月 time 显

    2024年03月14日
    浏览(38)
  • 使用原生小程序组件Picker自定义日期时间选择器

    1、 Picker简单介绍 可以看到Picker类型有5种, 具体可以查看微信开放文档 picker。 Picker(选择器)是一种常见的用户界面控件,用于从多个选项中选择一个或多个选项。在小程序中,Picker 是一种可用于选择日期、时间、地点等信息的组件。 小程序中的 Picker 组件提供了几种不

    2024年02月09日
    浏览(45)
  • SpringCloud(1~4章):课前说明、理论入门、boot和cloud版本选择、组件替换、微服务架构编码构建(简写依赖版本号,跳过单元测试,Services窗口,热部署,封装协议,工程重构)

    SpringCloud + SpringCloud alibaba java8+maven+git、github+Nginx+RabbitMQ+SpringBoot2.0 零基础:1~4章 初级:5~9章 中级:10~16章 高级:17~21章 1.2.1 微服务架构概述 1)什么是微服务 微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提

    2024年01月20日
    浏览(44)
  • 使用van-dialog二次封装微信小程序模态框

    由于微信小程序的wx.showModal不支持富文本内容,无法实现更灵活的展示效果,故需要进行二次封装 实现思路:使用van-dialog以及微信小程序的rich-text实现 代码如下: 使用方法 本文仅提供一种思路,可能不是最优写法,欢迎大家讨论留言

    2024年02月07日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包