uni-app之picker选择器、打包、ucharts

本文介绍了在uni-app中使用picker选择器实现时间选择功能,包括判断下单时间并设置时间禁用条件。同时,文章详细讲解了uni-app的打包流程,区分安卓与苹果的打包设置。此外,还分享了如何在uni-app中集成ucharts图表插件,提供了组件引用方式和代码实例。
摘要由CSDN通过智能技术生成

11月4日

1、选择器

  • 用到uniapp里的picker内置组件

2、选择时间功能

2.1、

2.2、需求

  • 在11点前下单,显示明天上下午,11点后下单显示后天上下午

    • 判断这个小时数是否大于11,如果大于了要怎么样,小于了又怎么样

  • 页面简单布局

    • html

      • <view class="freight">
                    <view class="dev">配送时间:</view>
                    <picker @change="bindPickerChange" :value="index" :range="array" :disabled="disabled">
                        <view class="text">{
                {array[index]}}</view>
                    </picker>
                    <!-- <image src="../../static/img/account-right.png" mode="" class="img"></image> -->
                </view>

    • 再data中定义

      • 
        export default{
            data(){
                return{
                    array:['明天上午(8:00-10:00)','明天下午(13:00-21:00)','后天上午(8:00-10:00)','后天下午(13:00-21:00)']
                    index:0  // 默认显示索引为0的时间
                    disabled:false
                }
            },
            methods:{
               bindPickerChange: function(e) {
          
uni-apppicker选择器中,由于picker组件本身并不支持多选框,所以需要自己实现。以下是一种实现方式: 1. 在data中定义一个数组,用于存储选择的选项。 ```javascript data: { options: ['选项A', '选项B', '选项C', '选项D', '选项E'], selectedOptions: [] } ``` 2. 在picker的列数(column)中添加一个自定义的选项列,用于显示多选框。 ```html <picker mode="multiSelector" :value="[selectedOptions]" @change="onPickerChange"> <picker-view-column> <view class="multi-selector"> <block wx:for="{{options}}"> <view class="multi-selector-item" :class="{ 'multi-selector-item-selected': isSelected($index) }" @tap="onOptionTap($index)">{{item}}</view> </block> </view> </picker-view-column> </picker> ``` 3. 在样式中定义多选框的样式。 ```css .multi-selector { display: flex; flex-wrap: wrap; align-content: flex-start; height: 200rpx; overflow-y: scroll; } .multi-selector-item { display: inline-flex; justify-content: center; align-items: center; width: 30%; height: 80rpx; margin: 10rpx; border: 1rpx solid #ccc; border-radius: 10rpx; font-size: 28rpx; } .multi-selector-item-selected { background-color: #007aff; color: #fff; } ``` 4. 在methods中实现多选框的逻辑。 ```javascript methods: { onOptionTap(index) { const selectedOptions = this.selectedOptions const option = this.options[index] const optionIndex = selectedOptions.indexOf(option) if (optionIndex === -1) { selectedOptions.push(option) } else { selectedOptions.splice(optionIndex, 1) } this.selectedOptions = selectedOptions }, isSelected(index) { return this.selectedOptions.indexOf(this.options[index]) !== -1 }, onPickerChange(event) { const selectedOptions = event.detail.value[0].map(index => this.options[index]) this.selectedOptions = selectedOptions } } ``` 这样就可以在uni-apppicker选择器实现多选框了。需要注意的是,由于picker组件的value属性必须是一个数组,所以需要将selectedOptions数组包装成一个数组进行传递。同时,在picker的change事件中,需要通过event.detail.value[0]获取到多选框的选项索引数组,再通过map方法将索引转换成选项值数组。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值