uniapp中各种状态的按钮

当涉及状态按钮时,UniApp提供了丰富的选择。UniApp中的状态按钮可以是开关按钮、单选按钮、多选按钮等。开发者可以根据具体需求选择使用合适的状态按钮组件。对于状态按钮,UniApp提供了丰富的API和事件,可以轻松实现状态切换、状态监听等功能。

在UniApp中,状态按钮的使用非常简单。只需要在template中引入相应的组件,设置好相应的属性和事件即可。例如,对于开关按钮,可以使用uni-switch组件;对于单选按钮,可以使用uni-radio组件;对于多选按钮,可以使用uni-checkbox组件等。通过设置不同的属性和事件监听,可以实现各种状态按钮的功能。

除了基本的状态按钮组件外,UniApp还提供了丰富的插件和扩展组件,例如uni-icons、uni-badge等,可以进一步丰富状态按钮的样式和功能。开发者可以根据自己的需求选择合适的组件,快速构建出符合设计需求的状态按钮。

基本使用:

文字内容通过text传入

<u-button text="月落"></u-button>

设置按钮的多种形态

  • type值可选的有default(默认)、primarysuccessinfowarningerror
  • 通过plain值设置是否镂空
  • 通过hairline值设置是否细边
  • 通过disabled值设置是否禁用
  • 通过loading值设置是否开启加载图标,loadingText设置加载中文字
  • 通过icon值设置是否显示图标
  • 通过shape值设置按钮形状,circle为圆角
  • 通过color值设置按钮渐变颜色
  • 通过size值设置按钮的大小
<template><view style="padding: 20px;"><u-button type="primary" text="确定"></u-button><u-button type="primary" :plain="true" text="镂空"></u-button><u-button type="primary" :plain="true" :hairline="true" text="细边"></u-button><u-button type="primary" :disabled="disabled" text="禁用"></u-button><u-button type="primary" loading loadingText="加载中"></u-button><u-button type="primary" icon="map" text="图标按钮"></u-button><u-button type="primary" shape="circle" text="按钮形状"></u-button><u-button text="渐变色按钮" color="linear-gradient(to right, rgb(66, 83, 216), rgb(213, 51, 186))"></u-button><u-button type="primary" size="small" text="大小尺寸"></u-button></view>
</template><script>
export default {data() {return {disabled: true};}
};
</script>

定义需要用到的外部样式

  1. 针对非微信小程序平台,组件的根元素就是uni-appbutton组件,所以修改按钮的样式很容易,直接给组件定义类名或者嵌入内联样式即可。
  2. 如果是微信小程序,编译后页面会有组件同名的元素存在,导致样式传递有问题。
  3. 如果是为了修改按钮与其他元素之间的距离或者宽度等,可以给按钮外面套一个view元素,控制这个view与其他元素的距离或者宽度,即可达到同等效果。

所以:我们提供了一个custom-style参数,推荐用户可以用对象形式传递样式给组件内部,注意驼峰命名。

<template><view style="padding: 20px;"><!-- 以下形式在微信小程序会无效,APP和H5有效  --><u-button class="custom-style" text="雪月夜"></u-button></view>
</template><script>
export default {data() {return {disabled: true,customStyle: {marginTop: '20px', // 注意驼峰命名,并且值必须用引号包括,因为这是对象color: 'red'}};}
};
</script><style lang="scss" scoped>.custom-style {color: #ff0000;width: 400rpx;}
</style>

总的来说,UniApp中各种状态按钮的使用非常灵活,开发者可以根据自己的需求选择合适的组件和配置,快速实现各种状态按钮的功能。UniApp提供了丰富的API和事件,可以轻松实现状态按钮的各种功能,为开发者提供了极大的便利。

API

#Props

属性名说明类型默认值可选值平台差异说明
hairline是否显示按钮的细边框Booleantruefalse-
type按钮的样式类型Stringinfoinfo / primary / error/ warning / success-
size按钮的大小Stringnormallarge / mini-
shape按钮外观形状,见上方说明Stringsquarecircle-
plain按钮是否镂空,背景色透明Booleanfalsetrue-
disabled是否禁用Booleanfalsetrue-
loading按钮名称前是否带 loading 图标BooleanfalsetrueApp-nvue 平台,在 ios 上为雪花,Android上为圆圈
loadingText加载中提示文字String---
loadingMode加载状态图标类型Stringspinner--
loadingSize加载图标大小String | Number15--
openType开放能力,具体请看uniapp稳定关于button组件部分说明String---
formType用于 <form> 组件,点击分别会触发 <form> 组件的 submit/reset 事件String---
appParameter打开 APP 时,向 APP 传递的参数,open-type=launchApp时有效 (注:只微信小程序、QQ小程序有效)String---
hoverStopPropagation指定是否阻止本节点的祖先节点出现点击态,微信小程序有效(默认 true)Booleantruefalse-
lang指定返回用户信息的语言,zh_CN 简体中文,zh_TW 繁体中文,en 英文Stringen--
sessionFrom会话来源,openType="contact"时有效String---
sendMessageTitle会话内消息卡片标题,openType="contact"时有效String---
sendMessagePath会话内消息卡片点击跳转小程序路径,openType="contact"时有效String---
sendMessageImg会话内消息卡片图片,openType="contact"时有效String---
showMessageCard是否显示会话内消息卡片,设置此参数为 true,用户进入客服会话会在右下角显示"可能要发送的小程序"提示,用户点击后可以快速发送小程序消息,openType="contact"时有效String---
dataName额外传参参数,用于小程序的data-xxx属性,通过target.dataset.name获取String---
throttleTime节流,一定时间内只能触发一次,单位毫秒String | Number0--
hoverStartTime按住后多久出现点击态,单位毫秒String | Number0--
hoverStayTime手指松开后点击态保留时间,单位毫秒String | Number200--
text按钮文字,之所以通过props传入,是因为slot传入的话(注:nvue中无法控制文字的样式)String | Number---
icon按钮图标String---
iconColor按钮颜色Stringplain=true镂空状态下,颜色与边框保持一致,否则为白色(主题为info时为黑色#000000)--
color按钮颜色,支持传入linear-gradient渐变色String---
customStyle定义需要用到的外部样式,详细见上方文档Object---

#Events

说明:目前经测试(Hbuilder X 2.6.8),在H5,APP,可以直接对组件监听tap事件,等同组件内部发出的click事件效果,某些HX版本上, 微信小程序对组件使用tap事件可能无效,故建议对按钮组件的点击事件监听统一使用组件内部发出的click事件。

属性名说明类型默认值可选值平台差异说明
click按钮点击,请勿使用@tap点击事件,微信小程序无效,返回值为点击事件及参数Handler---
getphonenumberopen-type="getPhoneNumber"时有效Handler微信小程序--
getuserinfo用户点击该按钮时,会返回获取到的用户信息,从返回参数的detail中获取到的值同uni.getUserInfoHandler微信小程序--
error当使用开放能力时,发生错误的回调Handler微信小程序--
opensetting在打开授权设置页并关闭后回调Handler微信小程序--
launchapp打开 APP 成功的回调Handler微信小程序--

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

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

相关文章

cfa一级考生复习经验分享系列(十二)

背景&#xff1a;就职于央企金融机构&#xff0c;本科金融背景&#xff0c;一直在传统金融行业工作。工作比较忙&#xff0c;用了45天准备考试&#xff0c;几乎每天在6小时以上。 写在前面的话 先讲一下&#xff0c;整体一级考下来&#xff0c;我觉得知识点多&#xff0c;偏基础…

Android apk安装包反编译——apktool工具

apk 文件结构 首先是 apk&#xff0c;即安卓程序的安装包。Apk 是一种类似于 Symbian Sis 或 Sisx 的文件格式。通过将 APK 文件直接传到 Android 模拟器或 Android 手机中执行即可安装。 而 apk 文件实际上就是一个 MIME 为 ZIP 的压缩包&#xff0c;只不过后缀名进行了更改。…

uniapp 分页

在app中实现分页效果的时候建议使用scroll-view标签 在data中定义好分页&#xff0c;从接口中获取一共的条数&#xff0c; pageInfo: {pageNum: 1,pageSize: 10,messageCode: null,}, total: 0, 在一进入页面就请求方法或者接口获取到条数 onLoad中调用这个方法 onLoad() {t…

线上3DVR展厅拉近客户距离,提升谈单转化效率

随着互联网的普及和数字化技术的发展&#xff0c;越来越多的企业开始利用3D虚拟展厅来展示自己的产品和服务。虚拟展厅作为一种新型的展示方式&#xff0c;能够迅速拉近客户与企业的距离&#xff0c;提高客户的信任感&#xff0c;从而促进订单的达成。 720云3D空间漫游 在传统…

【HBase】——简介

1 HBase 定义 Apache HBase™ 是以 hdfs 为数据存储的&#xff0c;一种分布式、可扩展的 NoSQL 数据库。 2 HBase 数据模型 • HBase 的设计理念依据 Google 的 BigTable 论文&#xff0c;论文中对于数据模型的首句介绍。 Bigtable 是一个稀疏的、分布式的、持久的多维排序 m…

分布式下如何实现统一日志系统?

在业务系统开发中&#xff0c;日志的收集和分析很重要&#xff0c;特别是在进行故障分析时&#xff0c;日志记录得好&#xff0c;可以帮我们快速定位问题原因。在互联网分布式系统下&#xff0c;日志变得越来越分散&#xff0c;数据规模也越来越大&#xff0c;如何更好地收集和…

初见 Amazon Q

前言 如果今年要写一篇年终总结的话&#xff0c;生成式 Ai 一定是绕不过的一个话题&#xff0c;自从去年的 chatGPT 火爆全球后&#xff0c;今年各种生成式 Ai 的产品络绎不绝地出现大众视线&#xff0c;版本迭代的速度也是非常快&#xff0c;大家甚至开始在自己的生活和工作中…

亿赛通电子文档安全管理系统 dump任意文件读取漏洞(CNVD-2023-09184)

产品简介 亿赛通电子文档安全管理系统&#xff0c;&#xff08;简称&#xff1a;CDG&#xff09;是一款电子文档安全加密软件&#xff0c;该系统利用驱动层透明加密技术&#xff0c;通过对电子文档的加密保护&#xff0c;防止内部员工泄密和外部人员非法窃取企业核心重要数据资…

开集目标检测-标签提示目标检测大模型(吊打YOLO系列-自动化检测标注)

背景 大多数现有的对象检测模型都经过训练来识别一组有限的预先确定的类别。将新类添加到可识别对象列表中需要收集和标记新数据&#xff0c;并从头开始重新训练模型&#xff0c;这是一个耗时且昂贵的过程。该大模型的目标是开发一个强大的系统来检测由人类语言输入指定的任意…

音频筑基:码率模式CBR、VBR、CVBR一文说清

音频筑基&#xff1a;码率模式CBR、VBR、CVBR一文说清 是什么深入理解参考资料 在音频编码或者网络传输中&#xff0c;码率是我们经常遇到的概念&#xff0c;这里谈谈自己对CBR、VBR、CVBR模式的理解。 是什么 首先什么是码率&#xff0c;即指每秒传送多少比特的数据量&#x…

十一.MyBatis的缓存

11.1缓存介绍 为什么使用缓存&#xff1f; 使用缓存的主要原因是为了提高应用程序的性能和响应速度。缓存可以存储经常访问的数据或计算结果&#xff0c;从而避免重复进行相同的计算或查询数据库等耗时的操作。通过使用缓存&#xff0c;你可以减少对原始数据源的访问次数&…

[oracle数据库]dblink的使用

在 Oracle 中&#xff0c;使用数据库链接&#xff08;Database Link&#xff0c;简称 dblink&#xff09;可以在一个数据库中访问另一个数据库中的对象。通过数据库链接&#xff0c;您可以在当前数据库会话中访问远程数据库中的表、视图、存储过程等对象&#xff0c;就像它们是…

2022年山东省职业院校技能大赛高职组云计算赛项试卷第二场-容器云

2022年山东省职业院校技能大赛高职组云计算赛项试卷 目录 【赛程名称】云计算赛项第二场-容器云 需要竞赛软件包以及资料可以私信博主&#xff01; 【赛程名称】云计算赛项第二场-容器云 【赛程时间】2022-11-27 09:00:00至2022-11-27 16:00:00 说明&#xff1a;完成本任务…

【流复制环境PostgreSQL-14.1到PostgreSQL-16.1大版本升级】

PostgreSQL大版本会定期添加新特性&#xff0c;这些新特性通常会改变系统表的布局&#xff0c;但内部数据存储格式很少改变。pg_upgrade通过创建新的系统表和重用旧的用户数据文件来执行快速升级。 pg_upgrade升级主要有三种用法&#xff1a; 1、使用pg_upgrade拷贝升级。 2、…

【工具】windeployqt 在windows + vscode环境下打包

目录 0.背景简介 1.windeployqt简介 2.打包具体过程 1&#xff09;用vscode编译&#xff0c;生成Release文件夹&#xff08;也有Debug文件夹&#xff0c;但是发布版本一般都是用Release&#xff09; 2&#xff09;此时可以看下Release文件夹内&#xff0c;一般是.exe可执行…

【学习笔记】Java函数式编程03 Stream流-终结操作

书接上回 3.3.3 终结操作 3.3.3.1 forEach 对集合的每一个元素进行处理 接触很多了不赘述 3.3.3.2 count 用来获取当前流中的元素的个数 比如&#xff0c;打印出所有作家的作品的总数 System.out.println(authors.stream().flatMap(author -> author.getBooks().stre…

Linux安装Python3.12.0

我们这里按照最新的Python3.12.0为示例 下载源文件。 wget https://www.python.org/ftp/python/3.12.0/Python-3.12.0.tgz解压。 tar -zxvf Python-3.12.0.tgz进入文件夹。 cd Python-3.12.0指定安装目录。 ./configure --prefix/usr/local/python3.12/编译&#xff0c;把…

文献研读|Prompt窃取与保护综述

本文介绍与「Prompt窃取与保护」相关的几篇工作。 目录 1. Prompt Stealing Attacks Against Text-to-Image Generation Models&#xff08;PromptStealer&#xff09;2. Hard Prompts Made Easy: Gradient-Based Discrete Optimization for Prompt Tuning and Discovery&#…

汽车零配件装配产线中使用RFID技术和不使用RFID技术的优缺点

汽车零配件装配产线中使用RFID技术和不使用RFID技术的优缺点 RFID(射频识别技术)是非接触式自动识别技术&#xff0c;经常被使用于工业制造、物流管理、仓储物品盘点等领域。我们聊一聊在汽车零配件装配产线中使用和不使用RFID技术的优缺点 在汽车零配件装配线使用RFID技术可以…

Java解决数组的度问题

Java解决数组的度问题 01 题目 给定一个非空且只包含非负数的整数数组 nums&#xff0c;数组的 度 的定义是指数组里任一元素出现频数的最大值。 你的任务是在 nums 中找到与 nums 拥有相同大小的度的最短连续子数组&#xff0c;返回其长度。 示例 1&#xff1a; 输入&…