uniApp實(shí)現(xiàn)選擇時(shí)間功能
更新時(shí)間:2024年03月06日 09:49:30 作者:牧碼人MJ682517
這篇文章主要介紹了uniApp實(shí)現(xiàn)選擇時(shí)間功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
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() 的作用是把數(shù)字轉(zhuǎn)為字符串,否則報(bào)錯(cuò) -->
<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"> 確認(rèn) </view> </view> </view> </template>
2.2、JavaScript部分
import checkNumber from '@/components/checkNumber/checkNumber.vue'
export default {
components: {
checkNumber
},
data() {
return {
current: 1,
// 給孫子組件傳遞參數(shù)(start)
weekCycle: 7,
dayCycle: 31,
monthCycle: 12,
// 給孫子組件傳遞參數(shù)(end)
}
},
methods: {
// 單選狀態(tài)
radioChange(event) {
let i = event.detail.value;
this.current = i;
},
// 確認(rèn)
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、效果圖

到此這篇關(guān)于uniApp實(shí)現(xiàn)選擇時(shí)間功能的文章就介紹到這了,更多相關(guān)uniApp選擇時(shí)間內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:
JavaScript單線程實(shí)現(xiàn)異步的詳細(xì)代碼示例
瀏覽器JavaScript的作用是操作DOM,這就決定了它只能是單線程的,否則會(huì)帶來很復(fù)雜的問題,這篇文章主要介紹了JavaScript單線程實(shí)現(xiàn)異步的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
2025-08-08
js鼠標(biāo)滑輪滾動(dòng)事件綁定的簡單實(shí)例(兼容主流瀏覽器)
本篇文章主要介紹了js鼠標(biāo)滑輪滾動(dòng)事件綁定的簡單實(shí)例(兼容主流瀏覽器)。需要的朋友可以過來參考下,希望對大家有所幫助
2014-01-01
基于openlayers4實(shí)現(xiàn)點(diǎn)的擴(kuò)散效果
這篇文章主要為大家詳細(xì)介紹了基于openlayers4實(shí)現(xiàn)點(diǎn)的擴(kuò)散效果
,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
2018-01-01
JS實(shí)現(xiàn)的input選擇圖片本地預(yù)覽功能示例
這篇文章主要介紹了JS實(shí)現(xiàn)的input選擇圖片本地預(yù)覽功能,涉及javascript針對頁面元素屬性動(dòng)態(tài)操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
2018-08-08
利用transition實(shí)現(xiàn)文字上下抖動(dòng)的效果
這篇文章主要給大家介紹了利用transition屬性如何實(shí)現(xiàn)文字上下抖動(dòng)的效果,文中給出了詳細(xì)的介紹和完整的實(shí)例代碼,相信對大家的學(xué)習(xí)具有一定的參考借鑒價(jià)值,有需要的朋友們下面來一起看看吧。
2017-01-01 
