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.mzph.cn/news/722882.shtml

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

相关文章

蓝桥杯-大小写转换

转换方法 toLowerCase() String类的toLowerCase()方法可以将字符串中的所有字符全部转换成小写&#xff0c;而非字母的字符不受影响&#xff0c;语法格式如下&#xff1a; 字符串名.toLowerCase() //将字符串中的字母全部转成小写&#xff0c;非字母不受影响。 package chap…

nginx 基于IP的多虚拟主机配置

nginx 基于IP的多虚拟主机配置 1.基于IP的多虚拟主机配置 1.1 网络配置 linux操作系统支持IP别名的添加。 nginx 服务器提供的每台虚拟主机对应配置一个不同的IP&#xff0c;因此需要将网卡设置为同时能够监听多个IP地址。 先查看当前的网络配置&#xff1a;ifconfig 再为…

python 绘制三维图

参考&#xff1b;Create 3D histogram of 2D data — Matplotlib 3.8.3 documentation

Elasticsearch:使用 Streamlit、语义搜索和命名实体提取开发 Elastic Search 应用程序

作者&#xff1a;Camille Corti-Georgiou 介绍 一切都是一个搜索问题。 我在 Elastic 工作的第一周就听到有人说过这句话&#xff0c;从那时起&#xff0c;这句话就永久地印在了我的脑海中。 这篇博客的目的并不是我出色的同事对我所做的相关陈述进行分析&#xff0c;但我首先…

PHP服务性能优化总结

前言 问题都是逐步暴露的&#xff0c;没有显现出来的问题不代表不存在&#xff0c;只是有更低级的问题先出现了而已。特别是对于 service 来说&#xff0c;问题出现之后&#xff0c;必须要找到根因&#xff0c;找到根因之后&#xff0c;解决方案可以分布实施&#xff0c;否则所…

【Numpy】给数组增加一个维度

【Numpy】给数组增加一个维度 &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程&#x1f448; 希望得到您的订阅和支持~ &#x1f4a1; 创…

怎么培养孩子的学习习惯?

问&#xff1a;在亲子阅读中&#xff0c;应该用哪些方法引导孩子自己主动阅读呢&#xff1f; 有很多家长会问如何培养孩子主动阅读的兴趣&#xff1f; 我想给你四个词来分享&#xff0c;分别是环境、选择的权利、适龄&#xff0c;还有增强回路。第一个环境&#xff0c;就是把…

Java @Async 实现异步功能

1.问题描述 在做导入导出功能时&#xff0c;如果数据量比较多&#xff0c;完成操作的时间就会变长&#xff0c;导致页面的接口报502超时异常 2.原因分析 没有做异步处理&#xff0c;同步处理会导致页面要一直等待接口响应&#xff0c;时间一长就会报502 3.解决方案 改为异步导…

html实体字符,看完这篇彻底明白了

二.技术基础知识 基础知识一直都是重点考察的内容&#xff0c;包含有HTML&#xff08;5&#xff09;、CSS&#xff08;3&#xff09;、JavaScript到 戳这里领取完整开源项目&#xff1a;【一线大厂前端面试题解析核心总结学习笔记Web真实项目实战最新讲解视频】 Vue&#xff0…

MATLAB读取.nc(数据集)文件

MATLAB读取.nc(数据集)文件 以中国1km逐月潜在蒸散发数据集&#xff08;1901-2022&#xff09;为例 首先用FileZilla下载特定年份的数据集 用matlab进行处理&#xff0c;代码如下&#xff1a; clear;clc;ncdisp("pet_2022.nc") %读数据集的具体信息和变量eva ncr…

代码训练LeetCode(2)区间列表的交集

代码训练(2)LeetCode之区间列表的交集 Author: Once Day Date: 2024年3月5日 漫漫长路&#xff0c;才刚刚开始… 全系列文章可参考专栏: 十年代码训练_Once-Day的博客-CSDN博客 参考文章: 986. 区间列表的交集 - 力扣&#xff08;LeetCode&#xff09;力扣 (LeetCode) 全球…

flutterprovider局部刷新,简单聊聊2024年Android开发的现状和思考

一、java面试题 熟练掌握java是很关键的&#xff0c;大公司不仅仅要求你会使用几个api&#xff0c;更多的是要你熟悉源码实现原理&#xff0c;甚至要你知道有哪些不足&#xff0c;怎么改进&#xff0c;还有一些java有关的一些算法&#xff0c;设计模式等等。 &#xff08;一&…

.NET Core 日志记录功能详解

在软件开发和运维过程中&#xff0c;日志记录是一个非常重要的功能。它可以帮助开发者跟踪应用程序的运行状况、诊断和监控问题。.NET Core 提供了一个灵活且易于使用的日志系统&#xff0c;本文将详细介绍.NET Core日志的相关概念、配置和使用方法。 1. 什么是日志记录以及它…

使用GitOps自动化推动AI/ML工作流程

作为一名深耕自动化和人工智能领域的开发人员&#xff0c;我们逐渐认识到尖端工具和方法之间的显着协同作用&#xff0c;这些协同作用突破了可能性的界限。在这次探索中&#xff0c;我们想分享一个概念&#xff0c;它不仅彻底改变了我们的软件开发和基础设施管理方法&#xff0…

向爬虫而生---Redis 探究篇5<Redis集群刨根问底(1)>

前言: Redis集群是一种可靠和高性能的分布式数据库解决方案。随着互联网的迅速发展和数据规模的增长,传统的单机Redis已经无法满足大规模应用的需求。Redis集群的出现填补了这一空白,提供了更高的可扩展性和容错性。 大家都知道,Redis是一种基于内存的高性能键值存储数据库,…

微信小程序开发系列(十七)·事件传参·mark-自定义数据

目录 步骤一&#xff1a;按钮的创建 步骤二&#xff1a;按钮属性配置 步骤三&#xff1a;添加点击事件 步骤四&#xff1a;参数传递 步骤五&#xff1a;打印数据 步骤六&#xff1a;获取数据 步骤七&#xff1a;父进程验证 总结&#xff1a;data-*自定义数据和mark-自定…

绘图设计:用Draw.io绘制图形技巧大全(含统一建模语言UML模板)

一、常见UML模板 1.流程图 2.用例图 include是包含关系&#xff0c;extend是扩展关系 简而言之&#xff0c;include是子集指向父集&#xff1b;而extend是扩展用例指向基础用例&#xff08;基础用例可以理解为系统核心功能&#xff0c;扩展用例是可选的&#xff0c;不是必须…

易基因:NAR:RCMS编辑系统在特定细胞RNA位点的靶向m5C甲基化和去甲基化研究|项目文章

喜讯&#xff01;易基因表观转录组学RNA-BS技术服务见刊《核酸研究》 大家好&#xff0c;这里是专注表观组学十余年&#xff0c;领跑多组学科研服务的易基因。 2024年2月15日&#xff0c;吉林大学张涛、赵飞宇、李金泽为共同第一作者&#xff0c;吉林大学李占军、隋婷婷及赖良…

android 键盘遮挡输入框问题回忆

背景 刚开始做Android的时候&#xff0c;有一次遇到输入框位于页面底部&#xff0c;弹出的键盘老是遮挡输入框&#xff0c;这就给人一种感觉----不咋舒服。当时&#xff0c;网上百度了一遍&#xff0c;后面终于解决了&#xff0c;由于当时天天加班&#xff0c;没时间写博客&…

大数据技术学习笔记(五)—— MapReduce(2)

目录 1 MapReduce 的数据流1.1 数据流走向1.2 InputFormat 数据输入1.2.1 FileInputFormat 切片源码、机制1.2.2 TextInputFormat 读数据源码、机制1.2.3 CombineTextInputFormat 切片机制 1.3 OutputFormat 数据输出1.3.1 OutputFormat 实现类1.3.2 自定义 OutputFormat 2 Map…