web前端之uniApp实现选择时间功能

MENU

  • 1、孙子组件
    • 1.1、html部分
    • 1.2、JavaScript部分
    • 1.3、css部分
  • 2、子组件
    • 2.1、html部分
    • 2.2、JavaScript部分
    • 2.3、css部分
  • 3、父组件
    • 3.1、html部分
    • 3.2、JavaScript部分
  • 4、效果图


1、孙子组件

1.1、html部分

<template><view><checkbox-group @change="checkboxChange"><view class="check_number_box"><view class="check_number_item" v-for="(item, i) in checkNumberData" :key="i"><view><!-- toString() 的作用是把数字转为字符串,否则报错 --><checkbox :value="item.toString()" :checked="item == defaultValue[0]" /></view><text>{{ item }}</text></view></view></checkbox-group></view>
</template>

1.2、JavaScript部分

export default {props: {checkNumberData: {type: Number,default: () => {return 7},}},data() {return {defaultValue: [1]}},methods: {checkboxChange(event) {this.defaultValue = event.detail.value;}}
}

1.3、css部分

* {margin: 0;padding: 0;
}.check_number_box {box-sizing: border-box;padding: 10rpx 50rpx;display: grid;grid-template-columns: repeat(5, 1fr);grid-gap: 10rpx 10rpx;
}.check_number_item {display: flex;justify-content: flex-start;align-items: center;font-size: 30rpx;
}.check_number_item>text {margin-left: 6rpx;
}

2、子组件

2.1、html部分

<template><view><view class="set_cycle_box"><radio-group @change="radioChange"><view class="cycle_box"><!-- 每日 --><view class="cycle_item"><view>每日</view><view><radio value="1" checked="true" /></view></view><!-- 每周 --><view class="cycle_item"><view>每周</view><view><radio value="2" /></view></view><checkNumber :checkNumberData="weekCycle" v-show="current == 2" ref="weekData"></checkNumber><!-- 每月 --><view class="cycle_item"><view>每月</view><view><radio value="3" /></view></view><checkNumber :checkNumberData="dayCycle" v-show="current == 3" ref="dayData"></checkNumber><!-- 自定义 --><view class="cycle_item"><view>自定义</view><view><radio value="4" /></view></view><view class="set_cycle_title" v-show="current == 4">请选择月份</view><checkNumber :checkNumberData="monthCycle" v-show="current == 4" ref="monthCustomaData"></checkNumber><view class="set_cycle_title" v-show="current == 4">请选择日期</view><checkNumber :checkNumberData="dayCycle" v-show="current == 4" ref="dayCustomaData"></checkNumber></view></radio-group><view class="submit" @click="submitBtn">确认</view></view></view>
</template>

2.2、JavaScript部分

import checkNumber from '@/components/checkNumber/checkNumber.vue'export default {components: {checkNumber},data() {return {current: 1,// 给孙子组件传递参数(start)weekCycle: 7,dayCycle: 31,monthCycle: 12,// 给孙子组件传递参数(end)}},methods: {// 单选状态radioChange(event) {let i = event.detail.value;this.current = i;},// 确认submitBtn() {let i = this.current;i = Number(i);let submitData = {};switch (i) {case 2:submitData.type = i;submitData.submitWeek = this.$refs.weekData.defaultValue;break;case 3:submitData.type = i;submitData.submitDay = this.$refs.dayData.defaultValue;break;case 4:submitData.type = i;submitData.submitCustomaMonth = this.$refs.monthCustomaData.defaultValue;submitData.submitCustomaDay = this.$refs.dayCustomaData.defaultValue;break;default:submitData.type = i;submitData.submitDay = [1];}this.$emit('clickSetCycle', submitData)}}
}

2.3、css部分

.set_cycle_box {margin-top: 60rpx;
}.cycle_box {padding: 0 50rpx;font-size: 30rpx;font-weight: 600;
}.cycle_item {display: flex;justify-content: space-between;align-items: center;margin: 16rpx 0;
}.submit {background-color: #007AFF;color: #FFFFFF;font-size: 32rpx;font-weight: 600;width: 30%;line-height: 50rpx;text-align: center;border-radius: 10rpx;position: relative;left: 50%;transform: translate(-50%);margin: 60rpx 0;
}.set_cycle_title {margin: 16rpx 0;font-size: 26rpx;color: #888888;padding-left: 50rpx;
}

3、父组件

3.1、html部分

<template><view><setCycle @clickSetCycle="cycleControl"></setCycle></view>
</template>

3.2、JavaScript部分

import setCycle from '../../components/setCycle/setCycle.vue'export default {comments: {setCycle},data() {return {}},methods: {cycleControl(data) {console.log(data);// },}
}

4、效果图

效果图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/513657.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

l从0开始学习NEON(2)

1、前言 继上一个例子&#xff0c;本次继续来学习NEON&#xff0c;本次学习NEON中向量拼接的操作&#xff0c;主要应用在图像的padding中。 https://blog.csdn.net/weixin_42108183/article/details/136440707 2、案例 2.1 案例1 在某些情况下&#xff0c;需要取在每个向量…

UD效果广告

1.定义 全称Unidesk&#xff0c;是由阿里旗下大数据运营平台“阿里妈妈”推出的数字营销引流平台。UD投放将其他媒体的流量通过相关的广告创意导入到天猫店铺。 2.UD投放优化技巧 &#xff08;1&#xff09;不起量排查&#xff1a; 可以从账户问题、计划数量不足、计划设置…

1、Ajax、get、post、ajax,随机颜色

一、Ajax初始 1、什么是Ajax&#xff1f; 异步的JavaScript和xml 2、xml是什么&#xff1f; 一种标记语言&#xff0c;传输和存储数据----------现在用JSON传输数据 3、Ajax的作用 局部加载 可以使网页异步更新 4、Ajax的原理或者步骤(6步) 创建Ajax对象 if (window.X…

微信小程序开发系列(十三)·如何使用iconfont、微信小程序中如何使用字体图标

目录 1. 如何使用iconfont 2. 微信小程序中如何使用字体图标 3. 背景图的使用 1. 如何使用iconfont 在项目中使用到的小图标&#xff0c;一般由公司设计师进行设计&#xff0c;设计好以后上传到阿里巴巴矢量图标库&#xff0c;然后方便程序员来进行使用。 小程序中的字体…

spark 实验二 RDD编程初级实践

目录 一. pyspark交互式编程示例&#xff08;学生选课成绩统计&#xff09; 该系总共有多少学生&#xff1b; 该系DataBase课程共有多少人选修&#xff1b; 各门课程的平均分是多少&#xff1b; 使用累加器计算共有多少人选了DataBase这门课。 二.编写独立应用程序实现数…

#WEB前端(Javascript控制台打印以及弹窗)

1.实验&#xff1a; Javascript与Java没有任何关系 2.IDE&#xff1a;VSCODE 3.记录&#xff1a; 内联样式&#xff0c;外联样式&#xff0c;弹窗 a.内联&#xff08;运行之后在浏览器按F12查看控制台信息&#xff09; <!-- 内联样式 --><script>console.log…

Android9-W517-使用NotificationListenerService监听通知

目录 一、前言 二、前提 三、方案 方案一 方案二 方案三 方案四 方案五 方案六 方案七 四、关于NotificationListenerService类头注释 五、结论 一、前言 NotificationListenerService可以让应用监听所有通知&#xff0c;但是无法获得监听通知的权限&#xff0c;如…

能源大数据采集,为您提供专业数据采集服务

随着经济的不断发展&#xff0c;能源产业也逐渐成为国民经济的支柱产业之一。而对于能源行业来说&#xff0c;数据采集是一项至关重要的工作。以往&#xff0c;能源企业采集数据主要依靠人工收集、整理&#xff0c;但是这种方式不仅效率低下&#xff0c;而且容易出现数据不准确…

C及C++每日练习(2)

1.选择&#xff1a; 1.使用printf函数打印一个double类型的数据&#xff0c;要求&#xff1a;输出为10进制&#xff0c;输出左对齐30个字符&#xff0c;4位精度。以下哪个选项是正确的&#xff1f; A.%-30.4e B.%4.30e C.%-30.4f D.%-4.30 在上一篇文章中&#xff0c;提到了…

【Redis】Redis持久化模式AOF

目录 引言 AOF持久化模式​编辑​编辑 AOF与RDB的混合持久化(4.x后的新特性) AOF的优缺点 修复破损aof文件 到底用RDB还是AOF 引言 AOF就相当于上面的日志形式。是追加式备份。所有发生的写操作&#xff0c;新增啊&#xff0c;修改啊&#xff0c;删除啊&#xff0c;这些命…

最简单的基于 FFmpeg 的 AVDevice 例子(屏幕录制)

最简单的基于 FFmpeg 的 AVDevice 例子&#xff08;屏幕录制&#xff09; 最简单的基于 FFmpeg 的 AVDevice 例子&#xff08;屏幕录制&#xff09;简介libavdevice 使用抓屏方法gdigrabdshow 源程序结果工程文件下载参考链接 最简单的基于 FFmpeg 的 AVDevice 例子&#xff08…

IDEA2023.2版本引用提示no usages的关闭和打开

相信很多下载使用高版本的IDEA的小伙伴们都会发现自己的代码主页会出现一个no usages的提示&#xff0c;如下图所示&#xff0c;其实这是IDEA所做出的来的一个辅助功能&#xff0c;目的是为了让使用者可以清楚的知道你在哪里被使用了&#xff1b;如图&#xff1a; 对于一些经常…