支付宝小程序扩展表单 按钮·Button

2020-09-18 11:22 更新

按钮,用户只需单击一下即可执行操作并做出选择。常用于表单提交、界面跳转、模块引导点击。具体用法和小程序框架中 button 保持一致,在 button 基础上做了样式的封装。

扫码体验

示例代码

  1. {
  2. "defaultTitle": "Button",
  3. "usingComponents": {
  4. "button": "mini-ali-ui/es/button/index",
  5. "radio": "mini-ali-ui/es/am-radio/index",
  6. "checkbox": "mini-ali-ui/es/am-checkbox/index"
  7. }
  8. }
  9. <view class="container">
  10. <button onTap="onTest" showLoading="{{showLoading}}" dataName="{{dataName}}" type="{{type}}" subtitle="{{subtitle}}" disabled="{{disabled}}" shape="{{shape}}" capsuleSize="{{capsuleSize}}" capsuleMinWidth="{{capsuleMinWidth}}">
  11. {{title}}
  12. </button>
  13. <view>主标题</view>
  14. <input value="{{title}}" onInput="titleChange"/>
  15. <view>副标题</view>
  16. <input value="{{subtitle}}" onInput="subtitleChange"/>
  17. <view>按钮类型</view>
  18. <radio-group class="radio-group" onChange="typeChange" name="type">
  19. <label class="radio" a:for="{{types}}" key="label-{{index}}">
  20. <radio value="{{item.name}}" checked="{{item.checked}}" />
  21. <text class="radio-text">{{item.value}}</text>
  22. </label>
  23. </radio-group>
  24. <view>形状</view>
  25. <radio-group class="radio-group" onChange="shapeChange" name="shape">
  26. <label class="radio" a:for="{{shapes}}" key="label-{{index}}">
  27. <radio value="{{item.name}}" checked="{{item.checked}}" />
  28. <text class="radio-text">{{item.value}}</text>
  29. </label>
  30. </radio-group>
  31. <view>胶囊按钮大小</view>
  32. <radio-group class="radio-group" onChange="sizeChange" name="size">
  33. <label class="radio" a:for="{{capsuleSizes}}" key="label-{{index}}">
  34. <radio value="{{item.name}}" checked="{{item.checked}}" />
  35. <text class="radio-text">{{item.value}}</text>
  36. </label>
  37. </radio-group>
  38. <view>是否禁用</view>
  39. <checkbox onChange='onDisableChange'/>
  40. <view>是否限制胶囊按钮最小宽度</view>
  41. <checkbox onChange='onMinWidthChange'/>
  42. <view>是否现实loading</view>
  43. <checkbox onChange='onLoadingChange'/>
  44. </view>
  45. .container {
  46. padding: 20rpx;
  47. }
  48. .container button {
  49. margin-bottom: 24rpx;
  50. }

  1. Page({
  2. data: {
  3. title: '按钮操作 Normal',
  4. subtitle: '',
  5. disabled: false,
  6. dataName: '1',
  7. type: '',
  8. shape: 'default',
  9. capsuleSize: 'medium',
  10. capsuleMinWidth: false,
  11. showLoading: false,
  12. types: [
  13. { name: 'default', value: 'default', checked: true },
  14. { name: 'primary', value: 'primary' },
  15. { name: 'ghost', value: 'ghost' },
  16. { name: 'text', value: 'text' },
  17. { name: 'warn', value: 'warn' },
  18. { name: 'warn-ghost', value: 'warn-ghost' },
  19. { name: 'light', value: 'light' },
  20. ],
  21. shapes: [
  22. { name: 'default', value: 'default', checked: true },
  23. { name: 'capsule', value: 'capsule' },
  24. ],
  25. capsuleSizes: [
  26. { name: 'small', value: 'small' },
  27. { name: 'medium', value: 'medium', checked: true },
  28. { name: 'large', value: 'large' },
  29. ],
  30. },
  31. onLoad() {
  32. },
  33. typeChange(e) {
  34. this.setData({
  35. type: e.detail.value,
  36. });
  37. },
  38. shapeChange(e) {
  39. this.setData({
  40. shape: e.detail.value,
  41. });
  42. },
  43. sizeChange(e) {
  44. this.setData({
  45. capsuleSize: e.detail.value,
  46. });
  47. },
  48. titleChange(e) {
  49. this.setData({
  50. title: e.detail.value,
  51. });
  52. },
  53. subtitleChange(e) {
  54. this.setData({
  55. subtitle: e.detail.value,
  56. });
  57. },
  58. onDisableChange(e) {
  59. this.setData({
  60. disabled: e.detail.value,
  61. });
  62. },
  63. onMinWidthChange(e) {
  64. this.setData({
  65. capsuleMinWidth: e.detail.value,
  66. });
  67. },
  68. onTap() {
  69. // e.target.dataset.name
  70. },
  71. onLoadingChange(e) {
  72. this.setData({
  73. showLoading: e.detail.value,
  74. });
  75. },
  76. });

属性

属性 类型 默认值 可选值 描述 最低版本
type String default default, primary, ghost, warn, warn-ghost, text, light 按钮样式。 -
subtitle String - - 子标题 -
shape String default default, capsule 按钮形状。 -
capsuleSize String medium large, medium, small 胶囊按钮大小。 -
capsuleMinWidth Boolean false true, false 是否启用胶囊按钮最小宽度。 -
disabled Boolean false true, false 是否禁用。 -
showLoading Boolean false true, false 按钮文字前是否带 loading 图标。 -
hover-class String button-hover - 按钮按下去的样式类。button-hover 默认为 {background-color: rgba(0, 0, 0, 0.1); opacity: 0.7;},hover-class="none" 时表示没有点击态效果。 -
hover-start-time Number 20 - 按住后多少时间后出现点击状态,单位毫秒。 -
hover-stay-time Number 70 - 手指松开后点击状态保留时间,单位毫秒。 -
hover-stop-propagation Boolean false true, false 是否阻止当前元素的祖先元素出现点击态。 1.10.0
form-type String - - 有效值:submit, reset,用于 form 组件,点击分别会触发 submit/reset 事件。 -
open-type String - - 开放能力。 1.1.0
scope String - - 当 open-type 为 getAuthorize 时有效。 1.11.0
onTap EventHandle - - 点击。 -
app-parameter String - - 打开 APP 时,向 APP 传递的参数,open-type="launchApp" 时有效。 -
public-id String - - 生活号 ID, 必须是当前小程序同主体且已关联的生活号,open-type="lifestyle" 时有效。 -
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号