uni-app基础详解(组件、弹窗、数据缓存、页面跳转)

uni-app基础详解(组件、弹窗、数据缓存、页面跳转)

        • uni-app组件
          • scroll-view
          • swiper
          • text 文本
          • button 按钮
          • input 输入框
          • radio 单选
          • checkbox 多选
          • picker 选择器
          • slider 滑块
          • textarea 文本域
        • 弹窗
          • 提示框 uni.showLoading
          • 提示弹窗 uni.showToast
          • 确定取消框 uni.showModal
          • 列表提示框 uni.showActionSheet
        • 数据缓存
          • 同步缓存
          • 异步缓存
          • 获取缓存数据
        • 跳转
          • `navigator `标签跳转
          • 编程式跳转

uni-app组件
scroll-view
<button @click="goTop">回到顶部</button>
<button @click="showLoad">弹窗</button>
<scroll-view scroll-y class="scroll" :scroll-top="scrollTop" @scroll="getScrollTop"><view id="demo1" class="scroll-item bg-blue">A</view><view id="demo2" class="scroll-item bg-red">B</view><view id="demo3" class="scroll-item bg-green">C</view>
</scroll-view>		

回到顶部

getScrollTop(e) {console.log(e.detail.scrollTop);//方案一this.old.scrollTop = e.detail.scrollTop//方案二// this.scrollTop = e.detail.scrollTop
},goTop() {//方案一this.scrollTop = this.old.scrollTop;this.$nextTick(function() {this.scrollTop = 0})//方案二// this.scrollTop = 0;}
swiper
<swiper class="swiper" indicator-dots indicator-color="pink" indicator-active-color="red" autoplay current="1"interval="3000" duration="1000" circular><swiper-item class="swiper-item bg-blue">A</swiper-item><swiper-item class="swiper-item bg-yellow">B</swiper-item><swiper-item class="swiper-item bg-green">C</swiper-item></swiper>
text 文本
属性说明
selectable是否选中
decode解码 例如:&lt;,&gt;
space是否显示空格

space的参数值

参数说明
emsp中文字符空格大小
ensp中文字符空格一半大小
nbsp根据字体设置的空格大小
<text selectable decode space="nbsp">{{msg}}</text>
button 按钮
<button plain disabled type="primary">我是按钮</button>
<button loading type="default">我是按钮</button>
<button type="warn">我是按钮</button>
<button size="mini" type="primary">我是按钮</button>
<button size="mini" type="primary">我是按钮</button>
input 输入框
属性名类型默认值说明
valueString输入框的初始内容
typeStringtextinput 的类型
passwordBooleanfalse是否是密码类型
placeholderString输入框为空时占位符
disabledBooleanfalse是否禁用
maxlengthNumber140最大输入长度,设置为 -1 的时候不限制最大长度

type的有效值

说明
text文本输入键盘
number数字输入键盘
idcard身份证输入键盘
digit带小数点的数字键盘
tel电话输入键盘
safe-password密码安全输入键盘
nickname昵称输入键盘
<!-- 数据绑定 -->
<!-- <input type="text" :value="msg" /> -->
<input type="text" v-model="msg" /><!-- 密码框 -->
<input type="text" password placeholder="请输入密码" />
<input type="text" placeholder="请输入密码" />
radio 单选
属性名类型说明
valueString标识。当选中时,change 事件会携带选中的 value
checkedBoolean当前是否选中
disabledBoolean是否禁用
colorColorradio的颜色,同css的color

单项选择器,内部由多个 <radio> 组成。通过把多个radio包裹在一个radio-group下,实现这些radio的单选。

<radio-group @change="onSelect"><radio checked value="1"></radio><radio color="red" value="2"></radio><radio disabled value="3"></radio><radio value="4"></radio></radio-group>
checkbox 多选
属性名类型说明
valueString<checkbox> 标识,选中时触发 <checkbox> 的 change 事件,并携带 <checkbox> 的 value。
disabledBoolean是否禁用
checkedBoolean当前是否选中,可用来设置默认选中
colorColorcheckbox的颜色,同css的color

checkbox-group多项选择器,内部由多个 checkbox 组成。

<checkbox-group><checkbox checked color="red" value="1">篮球</checkbox><checkbox disabled value="2">足球</checkbox><checkbox color="rgba(120,0,255,0.5)" value="3">网球</checkbox>
</checkbox-group>
picker 选择器

从底部弹起的滚动选择器。支持五种选择器,通过mode来区分,分别是普通选择器selector,多列选择器multiSelector,时间选择器time,日期选择器date,省市区选择器region,默认是普通选择器。

1.普通选择器selector

属性名类型说明
rangeArray / Array<Object>mode为 selector 或 multiSelector 时,range 有效
range-keyString当 range 是一个 Array<Object> 时,通过 range-key 来指定 Object 中 key 的值作为选择器显示内容
valueNumbervalue 的值表示选择了 range 中的第几个(下标从 0 开始)
disabledBoolean是否禁用
@changeEventHandlevalue 改变时触发 change 事件,event.detail = {value: value}
@cancelEventHandle取消选择或点遮罩层收起 picker 时触发

html

<!-- 单列 -->
<picker @change="bindPickChange" range-key="name" :range="array" :value="index"><view style="padding: 20rpx; ">{{array[index].name}}</view>
</picker>

js

//数据	
index: 0,array: [{name: "中国"}, {name: "美国"}, {name: "俄罗斯"}]
//函数
bindPickChange(e) {this.index = e.detail.value// 刷新this.$forceUpdate()
},

2.多列选择器multiSelector

属性名类型说明
range二维 Array / 二维 Array<Object>mode为 selector 或 multiSelector 时,range 有效。二维数组,长度表示多少列,数组的每项表示每列的数据,如[[“a”,“b”], [“c”,“d”]]
range-keyString当 range 是一个 Array<Object> 时,通过 range-key 来指定 Object 中 key 的值作为选择器显示内容
valueNumbervalue 的值表示选择了 range 中的第几个(下标从 0 开始)
disabledBoolean是否禁用
@changeEventHandlevalue 改变时触发 change 事件,event.detail = {value: value}
@columnchangeEventHandle某一列的值改变时触发 columnchange 事件,event.detail = {column: column, value: value},column 的值表示改变了第几列(下标从0开始),value 的值表示变更值的下标
@cancelEventHandle取消选择或点遮罩层收起 picker 时触发

html

<!-- 多列 -->
<picker @change="bindPickChange" mode="multiSelector" @columnchange="bindColumnChange" :value="multIndex":range="multArray"><view style="padding: 20rpx; color: blue;">{{multArray[0][multIndex[0]]}} -{{multArray[1][multIndex[1]]}} -{{multArray[2][multIndex[2]]}}</view>
</picker>

js

multArray: [['亚洲', '欧洲', '美洲'],['中国', '韩国', '日本'],['北京', '上海', '西安']
],
multIndex: [0, 0, 0],
//多列
bindColumnChange(e) {this.multIndex[e.detail.column] = e.detail.value
},    
bindPickChange(e) {this.index = e.detail.value// 刷新this.$forceUpdate()
},

3.时间选择器time

属性名类型说明
valueString表示选中的时间,格式为"hh:mm"
startString表示有效时间范围的开始,字符串格式为"hh:mm"
endString表示有效时间范围的结束,字符串格式为"hh:mm"
@changeEventHandlevalue 改变时触发 change 事件,event.detail = {value: value}
@cancelEventHandle取消选择时触发
disabledBoolean是否禁用

html

<!-- 时间 -->
<picker mode="time" :range="time" @change="bindTimeChange" :start="minTime" :end="maxTime"><view style="padding: 20rpx; color: yellowgreen;">{{time}}</view>
</picker>

js

//时间
time: "11:16",
minTime: "00:00",
maxTime: "23:59",//时间
bindTimeChange(e) {this.time = e.detail.value
},

4.日期选择器date

属性名类型说明
valueString表示选中的日期,格式为"YYYY-MM-DD"
startString表示有效日期范围的开始,字符串格式为"YYYY-MM-DD"
endString表示有效日期范围的结束,字符串格式为"YYYY-MM-DD"
fieldsString有效值 year、month、day,表示选择器的粒度,默认为 day,App 端未配置此项时使用系统 UI
@changeEventHandlevalue 改变时触发 change 事件,event.detail = {value: value}
@cancelEventHandle取消选择时触发
disabledBoolean是否禁用

html

<!-- 日期 -->
<picker mode="date" :range="date" @change="bindDateChange" :start="startDate" :end="endDate"><view style="padding: 20rpx; color: yellowgreen;">{{date}}</view>
</picker>

js

//日期
date: getDate({format: true
}),
startDate: getDate('start'),
endDate: getDate('end')//日期
bindDateChange(e) {this.date = e.detail.value
},

5.省市区选择器region

属性名类型说明
valueArray表示选中的省市区,默认选中每一列的第一个值
custom-itemString可为每一列的顶部添加一个自定义的项
@changeEventHandlevalue 改变时触发 change 事件,event.detail = {value: value}
@cancelEventHandle取消选择时触发(快手小程序不支持)
disabledBoolean是否禁用(快手小程序不支持)
slider 滑块
属性名类型默认值说明
minNumber0最小值
maxNumber100最大值
stepNumber1步长,取值必须大于 0,并且可被(max - min)整除
disabledBooleanfalse是否禁用
valueNumber0当前取值
activeColorColor各个平台不同,详见下滑块左侧已选择部分的线条颜色
backgroundColorColor#e9e9e9滑块右侧背景条的颜色
block-sizeNumber28滑块的大小,取值范围为 12 - 28
block-colorColor#ffffff滑块的颜色
show-valueBooleanfalse是否显示当前 value
@changeEventHandle完成一次拖动后触发的事件,event.detail = {value: value}
@changingEventHandle拖动过程中触发的事件,event.detail = {value: value}

html

<slider min="0" max="100" step="1" :value="sliderNum" activeColor="yellow" backgroundColor="red" @changing="setSlider"></slider>

js

setSlider(e) {this.sliderNum = e.detail.value
},
textarea 文本域
属性名类型默认值说明
valueString输入框的内容
placeholderString输入框为空时占位符
placeholder-styleString指定 placeholder 的样式
placeholder-classStringtextarea-placeholder指定 placeholder 的样式类,注意页面或组件的style中写了scoped时,需要在类名前写/deep/
disabledBooleanfalse是否禁用
maxlengthNumber140最大输入长度,设置为 -1 的时候不限制最大长度
auto-heightBooleanfalse是否自动增高,设置auto-height时,style.height不生效
<textarea maxlength="10" placeholder="请输入内容" auto-height></textarea>
弹窗
提示框 uni.showLoading

uni.showLoading一般不自动关闭,需要调用uni.hideLoading()关闭

//提示框
uni.showLoading({title:"加载中...",mask:true
})setTimeout(function() {uni.hideLoading();
}, 1000);
提示弹窗 uni.showToast

有多种icon,例如:success 、error、fail等

//提示弹窗
uni.showToast({title:'成功提示',duration: 2000, //持续时间icon:"success"
})//图标提示
uni.showToast({title: '查询中',image:'../../static/logo.png',duration: 2000
})
确定取消框 uni.showModal

可以同时有确定和取消按钮

//确定取消框
uni.showModal({title:"提示",content:"是否删除?",confirmText:'删除',confirmColor: '#4cd964',cancelText:'放弃',cancelColor:'#dd524d',success:(e) =>{if(e.confirm){console.log("确定");}else{console.log("取消");}}
})
列表提示框 uni.showActionSheet

从底部向上弹出操作菜单

// 列表提示框
uni.showActionSheet({itemList:['今天','明天','昨天'], //数组长度最大为6个itemColor:'#f0ad4e',success(res) {console.log(res.tapIndex); //用户点击的按钮,从上到下的顺序,从0开始},fail() {console.log("取消");}
})
数据缓存
同步缓存
//同步缓存uni.setStorageSync("Storage","jixin")		 //设置key value 存储		console.log(uni.getStorageSync("Storage")); //通过key 获取valueuni.removeStorageSync("Storage");           //删除某个keyuni.clearStorageSync();					//全部删除
异步缓存
//设置key value 存储
uni.setStorage({ 				key:"Storage",data:"world",success() {console.log("=======异步缓存=======");}})//通过key 获取value	uni.getStorage({key:"Storage",success(res) {console.log( res.data);}})
//删除某个key
uni.removeStorage("Storage");
//全部删除
uni.clearStorage();
获取缓存数据
uni.getStorageInfo({success(res) {console.log(res.keys);}
})
跳转
navigator 标签跳转
属性名类型默认值说明
urlString应用内的跳转链接,值为相对路径或绝对路径,如:“…/first/first”,“/pages/first/first”,注意不能加 .vue 后缀
open-typeStringnavigate跳转方式
deltaNumber当 open-type 为 ‘navigateBack’ 时有效,表示回退的层数
animation-typeStringpop-in/out当 open-type 为 navigate、navigateBack 时有效,窗口的显示/关闭动画效果。(仅限App使用)
animation-durationNumber300当 open-type 为 navigate、navigateBack 时有效,窗口显示/关闭动画的持续时间。(仅限App使用)

open-type的参数

说明
navigate对应 uni.navigateTo 的功能
redirect对应 uni.redirectTo 的功能
switchTab对应 uni.switchTab 的功能
reLaunch对应 uni.reLaunch 的功能
navigateBack对应 uni.navigateBack 的功能
exit退出小程序,target="miniProgram"时生效
<navigator url="/pages/index/index" open-type="navigate">去非tabBar页面</navigator><navigator url="/pages/home/home" open-type="switchTab">去tabBar页面</navigator> 
编程式跳转

1.uni.navigateTo

保留当前页面,跳转到应用内的某个页面,使用uni.navigateBack可以返回到原页面。

参数类型说明
urlString需要跳转的应用内非 tabBar 的页面的路径 , 路径后可以带参数。
successFunction接口调用成功的回调函数
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

参数与路径之间使用?分隔,参数键与参数值用=相连,不同参数用&分隔;path为下一个页面的路径,下一个页面的onLoad函数可得到传递的参数

uni.navigateTo({url: 'pages/main/main?id=1001&name=zhangsan',success: (res) => {console.log("跳转Main", res);}})

2.uni.redirectTo

关闭当前页面,跳转到应用内的某个页面。

同上述uni.navigateTo的参数列表

uni.redirectTo({url: 'pages/main/main?id=1001&name=zhangsan
});

3.uni.reLaunch

关闭所有页面,打开到应用内的某个页面。

同上述uni.navigateTo的参数列表

uni.reLaunch({url: 'pages/main/main?id=1001&name=zhangsan'
});

4.uni.switchTab

跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。

参数类型说明
urlString需要跳转的 tabBar 页面的路径(需在 pages.json 的 tabBar 字段定义的页面),路径后不能带参数
successFunction接口调用成功的回调函数
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)
uni.switchTab({url: '/pages/home/home'
});

5.uni.navigateBack

关闭当前页面,返回上一页面或多级页面。

参数类型说明
deltaNumber返回的页面数,如果 delta 大于现有页面数,则返回到首页。
animationTypeString窗口关闭的动画效果
animationDurationNumber窗口关闭动画的持续时间,单位为 ms
successFunction接口调用成功的回调函数
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)
uni.navigateBack({delta: 1
});

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

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

相关文章

Flutter系列:Flutter常见问答(可用于面试)

Flutter系列 Flutter常见问答 作者&#xff1a;李俊才 &#xff08;jcLee95&#xff09;&#xff1a;https://blog.csdn.net/qq_28550263 邮箱 &#xff1a;291148484163.com 本文地址&#xff1a;https://blog.csdn.net/qq_28550263/article/details/135604801 【简介】&#…

服务器感染了.DevicData-P-XXXXXXXX勒索病毒,如何确保数据文件完整恢复?

引言&#xff1a; 在当今数字化时代&#xff0c;勒索病毒已成为网络安全威胁的一个严峻问题。其中&#xff0c;.DevicData-P-XXXXXXXX 勒索病毒以其恶意加密文件的手段引起了广泛关注。本文将介绍该病毒的特点、数据恢复方法以及如何预防遭受其攻击。 如不幸感染这个勒索病毒&…

【Java数据结构】03-二叉树,树和森林

4 二叉树、树和森林 重点章节&#xff0c;在选择&#xff0c;填空&#xff0c;综合中都有考察到。 4.1 掌握二叉树、树和森林的定义以及它们之间的异同点 1. 二叉树&#xff08;Binary Tree&#xff09; 定义&#xff1a; 二叉树是一种特殊的树结构&#xff0c;其中每个节点…

入门clickhouse的坑

常规的关系数据库已经不能满足现有业务需求&#xff0c;于是&#xff0c;装了一个ck玩玩&#xff0c;结果&#xff0c;妥妥的跳坑&#xff01; 安装&#xff0c;首页就是一行语句&#xff0c;curl就可以安装了&#xff0c;确实很简单。 写了一个小工具&#xff0c;把整个sqls…

Python(wordcloud):根据词频信息(xlsx、csv文件)绘制词云图

一、前言 本文将介绍如何用python根据词频信息&#xff08;xlsx、csv文件&#xff09;绘制词云图&#xff0c;除了绘制常规形状的词云图&#xff08;比如长方形&#xff09;&#xff0c;还可以指定词云图的形状。 二、安装并引入相关的库 1、安装相关的库 pip install jieb…

Oracle/DM序列基本使用

序列(SEQUENCE)是序列号生成器&#xff0c;可以为表中的行自动生成序列号&#xff0c;产生一组等间隔的数值(类型为数字)。其主要的用途是生成表的主键值&#xff0c;可以在插入语句中引用&#xff0c;也可以通过查询检查当前值&#xff0c;或使序列增至下一个值。序列是一个计…

MinIO上传

简介 MinIO是一个开源的对象存储服务器&#xff0c;兼容Amazon S3 API。它提供了可扩展、高性能和高可用性的存储解决方案&#xff0c;适用于大规模数据存储和分发。 MinIO的设计目标是简单易用、轻量级和高度可定制。它可以在企业内部部署&#xff0c;也可以在公有云上使用。…

深度学习笔记(八)——构建网络的常用辅助增强方法:数据增强扩充、断点续训、可视化和部署预测

文中程序以Tensorflow-2.6.0为例 部分概念包含笔者个人理解&#xff0c;如有遗漏或错误&#xff0c;欢迎评论或私信指正。 截图和程序部分引用自北京大学机器学习公开课 要构建一个完善可用的神经网络&#xff0c;除了设计网络结构以外&#xff0c;还需要添加一些辅助代码来增强…

【Spring】—— AOP切入点表达式(*和..使用)

切入点表达式是对要进行增强的方法的描述方式。 标准格式&#xff1a; 动作关键字&#xff08;访问修饰符 返回值 包名.类/接口名.方法名&#xff08;参数&#xff09;&#xff09; execution(void com.spring.dao.BookDao.update()) *和..的使用 可以使用通配符描述切入点&…

【Macos系统】安装VOSviewer及使用VOSviewer教程!!以ESN网络的研究进行案例分析

【Macos系统】安装VOSviewer及使用VOSviewer教程 以ESN网络的研究进行案例分析 本文介绍如何安装和使用VOSviewer软件&#xff0c;并以ESN&#xff08;Echo State Network&#xff09;网络的研究为案例进行分析。利用VOSviewer对相关文献进行可视化分析&#xff0c;并深入了解…

Linux之引导和服务篇

系统引导是操作系统运行的开始&#xff0c;在用户能够正常登录之前&#xff0c;Linux的引导过程完成了一系列的初始化任务&#xff0c;并加载必要的程序和命令终端&#xff0c;为用户登录做好准备。 一. 引导过程 开机自检--->MBR引导--->GRUB菜单--->加载Linux内核-…

商汤书生大模型一次可读 30 万汉字;2023 年 Shopee Live 超100万马来人注册;2023年中国出生人口902万人;

今日精选 • 商汤“书生・浦语”2.0 大语言模型开源&#xff1a;200K 上下文&#xff0c;一次可读 30 万汉字• 2023年中国出生人口902万人• 2023 年 Shopee Live 有超 100 万马来人注册并观看直播 投融资 • Airbnb 2 亿美元收购人工智能初创公司 Gameplanner.AI• 哥伦比…

【JavaEEj进阶】 Spring实现留言板

文章目录 &#x1f38d;预期结果&#x1f340;前端代码&#x1f384;约定前后端交互接⼝&#x1f6a9;需求分析&#x1f6a9;接⼝定义 &#x1f333;实现服务器端代码&#x1f6a9;lombok &#x1f332;服务器代码实现&#x1f334;运⾏测试 &#x1f38d;预期结果 可以发布并…

Vcast工程创建

Vcast工程创建 1.新建项目&#xff0c;创建工程名称 2.创建该工程下的项目组 3.设置项目组环境的名字 4.选择需要测试的源代码文件 5.选择被测文件,点击build 6.出现报错&#xff0c;点击报错窗口的按钮 进入报错详细页&#xff0c;查看详细信息 报错内容如下 Unstubbed Enti…

对input输入框做日期输入限制的几种方法

用户输入一个日期的时候&#xff0c;我们如何对其做一个输入限制呢&#xff1f;试想一下&#xff0c;如果你输入一个13月份出来&#xff0c;直接弹框提醒你&#xff0c;会觉得冗余界面复杂&#xff0c;我们可以直接清掉这个3。此外&#xff0c;假如我们希望别人输入的日期格式如…

使用原生input模拟器样式正常,但是真机上 input框溢出

目录 一、问题 二、解决方法 三、总结 tiips:如嫌繁琐&#xff0c;直接移步总结即可&#xff01; 一、问题 1.使用原生input写了一个搜索框&#xff0c;在模拟器和pc上一切正常。但是打包放到手机上&#xff0c;样式就有问题&#xff1a;这个搜索框的布局是正常的&#xf…

广州银行IPO再添堵:原董事长被查,资产质量承压,罚单频现

撰稿|行星 来源|贝多财经 广州银行的上市之路&#xff0c;或因前高管涉嫌违纪再添一层阴云。 前不久&#xff0c;广州市纪委监委披露的信息显示&#xff0c;广州银行原党委书记、董事长姚建军涉嫌严重违纪违法&#xff0c;正在接受纪律审查和监察调查。据贝多财经了解&#…

代码随想录-刷题第五十七天

42. 接雨水 题目链接&#xff1a;42. 接雨水 思路&#xff1a;本题十分经典&#xff0c;使用单调栈需要理解的几个问题&#xff1a; 首先单调栈是按照行方向来计算雨水&#xff0c;如图&#xff1a; 使用单调栈内元素的顺序 从大到小还是从小到大呢&#xff1f; 从栈头&…

【AI】RTX2060 6G Ubuntu 22.04.1 LTS (Jammy Jellyfish) 部署Chinese-LLaMA-Alpaca-2

下载源码 cd ~/Downloads/ai git clone --depth1 https://gitee.com/ymcui/Chinese-LLaMA-Alpaca-2 创建venv python3 -m venv venv source venv/bin/activate安装依赖 pip install -r requirements.txt 已安装依赖列表 (venv) yeqiangyeqiang-MS-7B23:~/Downloads/ai/Chi…

C语言实现循环队列

1.C语言版本 循环队列我是基于动态数组的优化实现的 #include <stdio.h> #include <stdlib.h> #include <stdbool.h> #define DEFAULT_CAPACITY 10 #define ELEMENT_NOT_FOUND -1 // 我们的循环队列是基于队列实现的 所以说只能够在队尾入队 队头出队 而且…