0.0.21 • Published 3 years ago

@retailwe/ui-radio v0.0.21

Weekly downloads
1
License
-
Repository
-
Last release
3 years ago

Radio 单选框

引入

app.jsonindex.json中引入组件,详细介绍见快速上手

"usingComponents": {
  "wr-radio": "@retailwe/ui-radio/index",
  "wr-radio-group": "@retailwe/ui-radio-group/index"
}

代码演示

基础用法

通过value绑定值当前选中项的 name

<wr-radio-group value="{{ radio }}" bind:change="onChange">
  <wr-radio name="1">单选框 1</wr-radio>
  <wr-radio name="2">单选框 2</wr-radio>
</wr-radio-group>
Page({
  data: {
    radio: '1'
  },
  onChange(event) {
    this.setData({
      radio: event.detail
    });
  }
});

禁用状态

通过disabled属性禁止选项切换,在Radio上设置diabled可以禁用单个选项

<wr-radio-group value="{{ radio }}" bind:change="onChange" disabled>
  <wr-radio name="1">单选框 1</wr-radio>
  <wr-radio name="2">单选框 2</wr-radio>
</wr-radio-group>

禁用文本点击

通过设置label-disabled属性可以禁用单选框文本点击

<wr-radio-group value="{{ radio }}" bind:change="onChange">
  <wr-radio name="1" icon-disabled>单选框 1</wr-radio>
  <wr-radio name="2" icon-disabled>单选框 2</wr-radio>
</wr-radio-group>

自定义颜色

通过checked-color属性设置选中状态的图标颜色

<wr-radio-group value="{{ radio }}" bind:change="onChange">
 <wr-radio name="1" checked-color="#07c160">单选框 1</wr-radio>
 <wr-radio name="2" checked-color="#07c160">单选框 2</wr-radio>
</wr-radio-group>

自定义大小

通过icon-size属性可以自定义图标的大小

<wr-radio-group value="{{ radio }}" bind:change="onChange">
  <wr-radio name="1">单选框 1</wr-radio>
  <wr-radio name="2" icon-size="25px">单选框 2</wr-radio>
</wr-radio-group>

自定义图标

通过icon插槽自定义图标,需要设置use-icon-slot属性

<wr-radio-group value="{{ radio }}" bind:change="onChange">
  <wr-radio use-icon-slot value="{{ radio }}" name="1">
    自定义图标
    <image slot="icon" src="{{ radio === '1' ? icon.active : icon.normal }}" />
  </wr-radio>
  <wr-radio use-icon-slot value="{{ radio }}" name="2">
    自定义图标
    <image slot="icon" src="{{ radio === '2' ? icon.active : icon.normal }}" />
  </wr-radio>
</wr-radio-group>
Page({
  data: {
    radio: true,
    icon: {
      normal: '//img.yzcdn.cn/icon-normal.png',
      active: '//img.yzcdn.cn/icon-active.png'
    }
  },
  onChange(event) {
    this.setData({
      radio: event.detail
    });
  }
});

与 Cell 组件一起使用

此时你需要再引入CellCellGroup组件。

<wr-radio-group value="{{ radio }}" bind:change="onChange">
  <wr-cell-group>
    <wr-cell
      title="单选框 1"
      clickable
      data-name="1"
      bind:click="onClick"
    >
      <wr-radio slot="right-icon" name="1" />
    </wr-cell>
    <wr-cell
      title="单选框 2"
      clickable
      data-name="2"
      bind:click="onClick"
    >
      <wr-radio slot="right-icon" name="2" />
    </wr-cell>
  </wr-cell-group>
</wr-radio-group>
Page({
  data: {
    radio: '1'
  },

  onChange(event) {
    this.setData({
      radio: event.detail
    });
  },

  onClick(event) {
    const { name } = event.currentTarget.dataset;
    this.setData({
      radio: name
    });
  }
});

API

RadioGroup Props

参数说明类型默认值版本
name在表单内提交时的标识符string--
value当前选中项的标识符any--
disabled是否禁用所有单选框booleanfalse-

Radio Props

参数说明类型默认值版本
name标识符string--
shape形状,可选值为 squarestringround-
disabled是否为禁用状态booleanfalse-
label-disabled是否禁用文本内容点击booleanfalse-
label-position文本位置,可选值为 leftstringright-
icon-size图标大小,默认单位为pxstring | number20px-
checked-color选中状态颜色string#1989fa-
use-icon-slot是否使用 icon 插槽booleanfalse-

Radio Event

事件名说明回调参数
bind:change当绑定值变化时触发的事件当前选中项的 name

Radio 外部样式类

类名说明
wr-class根节点样式类
wr-class-icon图标样式类
wr-class-label描述信息样式类

RadioGroup Event

事件名说明回调参数
bind:change当绑定值变化时触发的事件当前选中项的 name
0.0.21

3 years ago

0.0.20

4 years ago

0.0.19

4 years ago

0.0.18

4 years ago

0.0.17

4 years ago

0.0.16

4 years ago

0.0.15

4 years ago

0.0.14

4 years ago

0.0.13

4 years ago

0.0.12

4 years ago

0.0.11

4 years ago

0.0.10

4 years ago

0.0.9

4 years ago

0.0.8

4 years ago

0.0.7-beta.1

4 years ago