uView Button 按钮

简介: uView Button 按钮

该组件内部实现以uni-appbutton组件为基础,进行二次封装,主要区别在于:

  • 按钮type值有更多的主题颜色
  • 按钮size值有更多的尺寸可选

注意

  1. 此组件内部使用uni-appbutton组件为基础,除了开头中所说的增加的功能,另外暴露出来的props属性和官方组件的属性完全一致, uni-appbutton组件比较特殊,因为它有一些其他小程序平台的特定能力,请参考文档后面的参数列表,更详细说明请参uni-app方文档:
    uni-app方button组件(opens new window)
  2. 由于微信小程序的限制,在微信小程序中设置了form-typeu-button无法触发form组件的submit事件(H5和APP正常),详见微信小程序文档Bug & Tip部分(opens new window)

#平台差异说明

App(vue) App(nvue) H5 小程序

#基本使用

文字内容通过text传入

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

copy

#设置按钮的多种形态

  • 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>

copy

#定义需要用到的外部样式

  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>
相关文章
Element UI之el-tabs的样式修改字体颜色、下划线、选中/未选中
Element UI之el-tabs的样式修改字体颜色、下划线、选中/未选中
3671 0
|
人工智能 移动开发 Java
Android Studio插件版本与Gradle 版本对应关系
Android Studio插件版本与Gradle 版本对应关系
4064 0
Android Studio插件版本与Gradle 版本对应关系
|
数据可视化 数据挖掘
R语言生存分析数据分析可视化案例(下)
R语言生存分析数据分析可视化案例
|
8月前
|
数据采集 人工智能 Java
1天消化完Spring全家桶文档!DevDocs:一键深度解析开发文档,自动发现子URL并建立图谱
DevDocs是一款基于智能爬虫技术的开源工具,支持1-5层深度网站结构解析,能将技术文档处理时间从数周缩短至几小时,并提供Markdown/JSON格式输出与AI工具无缝集成。
370 1
1天消化完Spring全家桶文档!DevDocs:一键深度解析开发文档,自动发现子URL并建立图谱
|
10月前
|
机器学习/深度学习 人工智能 自然语言处理
《迈向认知智能新高度:深度融合机器学习与知识图谱技术》
在人工智能发展中,机器学习与知识图谱正成为推动行业变革的关键力量。机器学习使机器能从数据中学习并预测,而知识图谱以结构化方式描绘实体与关系,提供语义框架。两者的深度融合突破了传统AI的局限,提升了推理能力和决策质量,开启了认知智能的新篇章。通过特征工程、嵌入技术和联合推理等方法,二者在智能客服、金融风险评估和智能教育等领域展现出巨大应用潜力,尽管仍面临数据质量、语义理解和模型融合等挑战,但未来前景广阔,有望推动AI向更高水平发展。
305 1
|
10月前
|
缓存 自然语言处理 搜索推荐
深入优化基于DeepSeek的智能客服系统:从基础到高级
本文在上一篇构建的DeepSeek智能客服系统基础上,深入探讨了性能优化、用户体验提升和高级功能集成的方法。通过缓存机制、异步处理优化性能;利用情感分析、个性化回答提升用户体验;引入语音识别、知识图谱等高级功能增强智能化水平。结合具体案例与代码示例,帮助开发者打造更高效、智能的客服系统。
|
移动开发 JavaScript 前端开发
UniApp H5 跨域代理配置并使用(配置manifest.json、vue.config.js)
这篇文章介绍了在UniApp H5项目中处理跨域问题的两种方法:通过修改manifest.json文件配置h5设置,或在项目根目录创建vue.config.js文件进行代理配置,并提供了具体的配置代码示例。
UniApp H5 跨域代理配置并使用(配置manifest.json、vue.config.js)
|
JavaScript
cnpm 的安装与使用
本文介绍了npm和cnpm的概念、安装nodejs的步骤,以及cnpm的安装和使用方法,提供了通过配置npm使用中国镜像源来加速包下载的替代方案,并说明了如何恢复npm默认仓库地址。
cnpm 的安装与使用
|
缓存 负载均衡 安全
如何应对DDoS攻击:技术策略与实践
【8月更文挑战第20天】DDoS攻击作为一种常见的网络威胁,对信息系统的安全稳定运行构成了严峻挑战。通过采用流量清洗、CDN、负载均衡、防火墙与IPS、协议与连接限制、强化网络基础设施、实时监测与响应以及专业DDoS防护服务等策略,企业可以构建更加健壮的防御体系,有效应对DDoS攻击。然而,防御DDoS攻击的最佳方法是预防,企业应定期进行风险评估和安全演练,及时更新和强化安全措施,以提高网络的抵御能力和应对能力。
|
JSON JavaScript 定位技术
Echarts 绘制地图(中国、省市、区县),保姆级教程!
Echarts 绘制地图(中国、省市、区县),保姆级教程!