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>
相关文章
|
6月前
|
移动开发 JavaScript 小程序
uView Popup 弹出层
uView Popup 弹出层
103 0
|
6月前
|
开发框架 JavaScript 前端开发
UniApp Button讲解
UniApp Button讲解
185 1
|
6月前
uniapp的touchstart与click
uniapp的touchstart与click
391 0
|
3月前
|
JavaScript
Vue3按钮(Button)
这是一个高度可定制的按钮组件,支持多种属性设置,包括按钮类型、形状、图标、尺寸、背景透明度、波纹颜色、跳转地址、打开方式、禁用状态、加载状态及指示符样式等。预览图展示了不同配置下的按钮样式变化。组件通过Vue实现,并提供了丰富的自定义选项以适应各种场景需求。
109 1
Vue3按钮(Button)
|
3月前
|
JavaScript
Vue2按钮组件(Button)
这篇文章介绍了如何在Vue框架中创建一个可自定义样式和行为的按钮组件,包括按钮的文本、类型、尺寸、宽度、高度、圆角、跳转目标、禁用状态和是否居中显示等属性。
116 1
Vue2按钮组件(Button)
|
3月前
Vue3对话框(Dialog)
该 Vue2 对话框组件提供丰富的可定制属性,如标题、内容、宽度、高度等,并支持自定义按钮文本和样式。其预览效果展示了多种使用场景,包括全屏切换、加载状态及自定义样式等。该组件适用于各种需要弹窗功能的应用场景。[在线预览](https://themusecatcher.github.io/vue-amazing-ui/guide/components/dialog.html)提供了更多实例。此文章详情见原文链接,若涉及版权问题,请告知以便删除。
130 1
Vue3对话框(Dialog)
|
3月前
Vue2对话框(Dialog)
这是一篇介绍如何在Vue3中使用对话框(Dialog)的文章。该对话框组件可自定义标题、内容、尺寸等属性,并支持全屏切换、加载中状态等功能,整体样式参考了ant-design-vue Modal的设计。文章详细介绍了创建和使用Dialog组件的方法。
Vue2对话框(Dialog)
|
6月前
|
移动开发 JavaScript 小程序
uView Modal 模态框
uView Modal 模态框
134 0
|
6月前
|
JavaScript API
vue element plus Button 按钮
vue element plus Button 按钮
179 0
|
JavaScript 前端开发
11EasyUI 菜单与按钮- 创建菜单按钮(Menu Button)
11EasyUI 菜单与按钮- 创建菜单按钮(Menu Button)
62 0