uni-app 之 picker选择器

news2024/11/24 4:07:05

uni-app 之 picker选择器

同步滚动:开

uni-app 之 picker选择器

一、普通选择器
二、多列选择器
三、时间选择器
四、日期选择器

一、普通选择器

<template>
    <view>
        <picker @change="bindPickerChange" :value="index" :range="array" range-key="name">
            <view style="padding: 20rpx;background-color: white;">{{ array[index].name }}</view>
        </picker>
    </view>
</template>
<script>
export default {
    data() {
        return {
            array: [{ name: '中国' }, { name: '美国' }, { name: '巴西' }, { name: '日本' }],
            index: 2,
        };
    },
    methods: {
        bindPickerChange: function(e) {
            this.index = e.detail.value;
        }
    }
};
</script>

二、多列选择器

<template>
    <view>
        <picker mode="multiSelector" @columnchange="bindMultiPickerColumnChange" :value="multiIndex" :range="multiArray">
            <view style="background-color: white;">
                {{ multiArray[0][multiIndex[0]] }},
                {{ multiArray[1][multiIndex[1]] }},
                {{ multiArray[2][multiIndex[2]] }}
            </view>
        </picker>
    </view>
</template>
<script>
export default {
    data() {
        return {
            multiArray: [['亚洲', '欧洲'], ['中国', '日本'], ['北京', '上海', '广州']],
            multiIndex: [0, 0, 0]
        };
    },
    methods: {
        bindMultiPickerColumnChange: function(e) {
            this.multiIndex[e.detail.column] = e.detail.value;
            switch (e.detail.column) {
                case 0: //拖动第1列
                    switch (this.multiIndex[0]) {
                        case 0:
                            this.multiArray[1] = ['中国', '日本'];
                            this.multiArray[2] = ['北京', '上海', '广州'];
                            break;
                        case 1:
                            this.multiArray[1] = ['英国', '法国'];
                            this.multiArray[2] = ['伦敦', '曼彻斯特'];
                            break;
                    }
                    this.multiIndex.splice(1, 1, 0);
                    this.multiIndex.splice(2, 1, 0);
                    break;
                case 1: //拖动第2列
                    switch (
                        this.multiIndex[0] //判断第一列是什么
                    ) {
                        case 0:
                            switch (this.multiIndex[1]) {
                                case 0:
                                    this.multiArray[2] = ['北京', '上海', '广州'];
                                    break;
                                case 1:
                                    this.multiArray[2] = ['东京', '北海道'];
                                    break;
                            }
                            break;
                        case 1:
                            switch (this.multiIndex[1]) {
                                case 0:
                                    this.multiArray[2] = ['伦敦', '曼彻斯特'];
                                    break;
                                case 1:
                                    this.multiArray[2] = ['巴黎', '马赛'];
                                    break;
                            }
                            break;
                    }
                    this.multiIndex.splice(2, 1, 0);
                    break;
            }
            this.$forceUpdate();
        }
    }
};
</script>

image.png

三、时间选择器

<template>
    <view>
        <picker mode="time" :value="time" :start="minTime" :end=maxTime @change="bindTimeChange">
            <view style="background-color: white;">{{ time }}</view>
        </picker>
    </view>
</template>
<script>
export default {
    data() {
        return {
            time: '12:01',
            minTime:'09:01',
            maxTime:"21:01"
        };
    },
    methods: {
        bindTimeChange: function(e) {
            this.time = e.detail.value;
        }
    }
};
</script>

image.png

四、日期选择器

<template>
    <view>
        <picker mode="date" :value="date" :start="startDate" :end="endDate" @change="bindDateChange">
            <view style="background-color: #07C160;">{{ date }}</view>
        </picker>
    </view>
</template>
<script>
function getDate(type) {
    const date = new Date();

    let year = date.getFullYear();
    let month = date.getMonth() + 1;
    let day = date.getDate();

    if (type === 'start') {
        year = year - 10;
    } else if (type === 'end') {
        year = year + 10;
    }
    month = month > 9 ? month : '0' + month;
    day = day > 9 ? day : '0' + day;

    return `${year}-${month}-${day}`;
}
export default {
    data() {
        return {
            date: getDate({
                format: true
            }),
            startDate: getDate('start'),
            endDate: getDate('end'),
        };
    },
    methods: {
        bindDateChange: function(e) {
            this.date = e.detail.value;
        }
    }
};
</script>

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

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

相关文章

LabVIEW开发航天器模拟器的姿态控制和反作用轮动量管理

LabVIEW开发航天器模拟器的姿态控制和反作用轮动量管理 在过去十年中&#xff0c;航天器一直是现代技术进步的先决条件。迄今为止&#xff0c;为了更好地完成各种实际任务&#xff0c;已经在航天器姿态控制领域进行了大量研究。航天器一旦进入太空&#xff0c;就容易出现不确定…

JavaWeb开发-05-SpringBootWeb请求响应

一.请求 1.Postman 2.简单参数 ​ package com.wjh.controller;import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;import javax.servlet.http.HttpServletRequest;/** 测试请求参数接受*/ R…

【IntelliJ IDEA】cmd和idea Terminal查看java版本不一致

问题描述 原来win10电脑上安装的是jdk8的版本&#xff0c;因某些原因&#xff0c;现在想换成jdk7的版本&#xff0c;修改环境变量后&#xff0c;在cmd中执行 [java -version]命令&#xff0c;显示的是7的版本。 但在idea的Terminal中执行&#xff0c;确实显示8的版本。 原因分…

vue设置路由模式为history,打包部署,并解决404问题

现在Router配置里面加上 base 和 mode 属性&#xff1a; export default new Router({base: /your_project_name/,mode: history,routes: [......] })这样就能支持 history 模式了&#xff0c;但是现在静态资源获取还有问题。 解决静态资源获取问题 在 config/index.js 文件…

TS中的数据类型

一、number类型 let c: number; c 10; c "hello"; // 不能复制string类型 二、string类型 let d: string; d "hello"; d 10; // 不能复制number类型 三、boolean类型 let e: boolean true; e false; e 10; // 不能赋值true和false以外的值 四…

Cypress安装与使用教程(1)—— 软测大玩家

&#x1f60f;作者简介&#xff1a;博主是一位测试管理者&#xff0c;同时也是一名对外企业兼职讲师。 &#x1f4e1;主页地址&#xff1a;【Austin_zhai】 &#x1f646;目的与景愿&#xff1a;旨在于能帮助更多的测试行业人员提升软硬技能&#xff0c;分享行业相关最新信息。…

半导体划片机工艺应用

半导体划片工艺是半导体制造过程中的重要步骤之一&#xff0c;主要用于将大尺寸的晶圆切割成小片&#xff0c;以便进行后续的制造和封装过程。以下是一些半导体划片工艺的应用&#xff1a; 晶圆划片&#xff1a;在半导体制造过程中&#xff0c;需要将大尺寸的晶圆切割成小片&am…

【数据库系统概论】数据库系统外部的体系结构

单用户结构主从式结构分布式结构客户机&#xff0f;服务器结构&#xff08;C/S结构&#xff09;浏览器 / 服务器结构&#xff08;B/S结构&#xff09;感谢 &#x1f496; 上一篇文章 数据库系统的三级模式和二级映射介绍的是数据库系统内部的体系结构&#xff0c;是从应用开发…

计算机网络知识补充(1)

计算机网络:是一个将分散的&#xff0c;具有独立功能的计算机系统&#xff0c;通过通信设备和线路进行连接起来&#xff0c;由功能完善的软件实现资源共享和信息共享的系统&#xff0c;计算机网络是互连的&#xff0c;自治的计算机集合 互连:通过通信链路来进行互联互通 自治:没…

云安全威胁和责任

云计算的共享特性和按需定制本质除了给企业带来效率上提升&#xff0c;也引入了新的安全威胁&#xff0c;有可能使企业得不偿失。 之前云安全联盟(CSA)的报告便指出&#xff0c;云服务天生就能使用户绕过公司范围内的安全策略&#xff0c;建立起自己的影子IT项目服务账户。 新的…

全面感知,智能预警!燃气感知云,守护城市“烟火气”

燃气安全如何保障&#xff1f;燃气企业如何精准运营&#xff1f;天翼物联基于感知云平台创新能力&#xff0c;提供燃气感知云服务&#xff0c;包括泛协议接入、感知云燃气平台、燃气感知数据治理、决策处置大屏四大服务&#xff0c;构建燃气行业感知神经系统新型数字化底座&…

Interceptor的使用场景:拦截请求中的租户信息,注入到租户上下文中

业务场景 在SaaS环境中&#xff0c;租户是最重要的隔离业务数据的属性了&#xff0c;在自己的项目体系环境中&#xff0c;租户id能保证有值。但有个特殊场景&#xff0c;某些特殊权限的账号需要修改指定租户的内容&#xff0c;也即前端会携带租户信息过来&#xff0c;并且内部涉…

【力扣-每日一题】2560. 打家劫舍 IV

class Solution { public:bool check(vector<int> &nums,int max_num,int k){//只需要计算可以偷的房间。在满足最大值为max_num下时&#xff0c;能偷的最多的房间&#xff0c;与k值比较//如果大于K&#xff0c;说明max_num还可以缩小//如果小于看&#xff0c;说明ma…

深入解析容器与虚拟化:技术、对比与生态

深入解析容器与虚拟化&#xff1a;技术、对比与生态 文章目录 深入解析容器与虚拟化&#xff1a;技术、对比与生态容器和虚拟化的基本概念和原理容器的定义和特点虚拟化的定义和特点 容器使用场景容器和虚拟机的对比虚拟化技术的四个特点容器实现虚拟化的原理常见容器引擎和容器…

【Ubuntu配置ssh和sftp与windows的xshell连接】

【Ubuntu配置ssh和sftp与windows的xshell连接】 一、Ubuntu配置ssh1、查看是否已经安装2、安装openssh server3、修改端口 修改Port后的参数4、重启ssh5、查看状态6、查看端口 二、windows连接 一、Ubuntu配置ssh 1、查看是否已经安装 dpkg -l | grep ssh2、安装openssh serv…

IntelliJ IDEA学习总结(3)—— IntelliJ IDEA 常用快捷键(带动图演示)

一、构建/编译 Ctrl + F9:构建项目 该快捷键,等同于菜单【Build】—>【Build Project】 执行该命令后,IntelliJ IDEA 会编译项目中所有类,并将编译结果输出到out目录中。IntelliJ IDEA 支持增量构建,会在上次构建的基础上,仅编译修改的类。 Ctrl + Shift + F9:重新编…

程序员戴什么样的眼睛比较好

眼镜https://baijiahao.baidu.com/s?id1770288495355869186&wfrspider&forpc

【JDK 8-集合框架】5.3 limit 和 sorted 函数

一、sorted 函数 二、limit 函数 三、实战 执行结果&#xff1a; 一、sorted 函数 对流进行自然排序&#xff0c;其中的元素必须实现Comparable 接口 sorted(Comparator<? super T>comparator) 用来自定义升降序 二、limit 函数 获取指定数量的元素 (limit(long …

《机器学习基石前四章复习》

【引言】 训练样本D和最终测试h的样本都是来自同一个数据分布&#xff0c;这是机器能够 学习的前提。另外&#xff0c;训练样本D应该足够大&#xff0c;且hypothesis set的个数是有限的&#xff0c;这样 根据霍夫丁不等式&#xff0c;才不会出现Bad Data&#xff0c;保证Ein≈…

2023年9月19日

2> 完成文本编辑器的保存工作 头文件 #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QFontDialog> #include <QMainWindow> #include <QFont> #include <QMessageBox> #include <QDebug> #include <QColorDialog> #include &l…