更新记录
1.0(2025-08-13)
下载此版本
上传组件
平台兼容性
uni-app(4.07)
Vue2 |
Vue3 |
Chrome |
Safari |
app-vue |
app-nvue |
Android |
iOS |
鸿蒙 |
- |
- |
- |
- |
- |
- |
- |
- |
- |
微信小程序 |
支付宝小程序 |
抖音小程序 |
百度小程序 |
快手小程序 |
京东小程序 |
鸿蒙元服务 |
QQ小程序 |
飞书小程序 |
快应用-华为 |
快应用-联盟 |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
使用说明
插件功能介绍
1.自定义radio组件。
2.可自定义颜色,大小。
3.可取消选中状态,当该组件嵌套在radio-group组件中时,不支持取消选中。
属性
属性名 |
类型 |
可选值 |
默认值 |
说明 |
name |
String, Number, Boolean |
- |
true |
选中时的值 |
modelValue |
String, Number, Boolean |
- |
- |
v-model的语法糖 |
disabled |
Boolean |
false、true |
false |
禁用 |
canCancel |
Boolean |
false、true |
true |
是否可以取消 |
isRadioGroup |
Boolean |
false、true |
false |
是否被用于radio-group子组件,如果嵌套入radio-group,只有当该参数为true时,才会触发radio-group的change事件 |
事件(Events)
事件名称 |
说明 |
参数 |
返回值 |
update:modelValue |
vue3双向绑定语法糖 |
选中的值 |
- |
change |
值变化时触发 |
变化后的值 |
- |
自定义样式
名称 |
说明 |
默认值 |
--n-radio-size |
大小 |
1em |
--n-radio-color |
主题色 |
$uni-color-primary |
--n-radio-disabled |
禁用时的颜色 |
$uni-text-color-disable |
使用样例
<view class="content">
<view class="item">
<text>自定义主题:</text>
<nRadio v-model="radioValue" :name="1" style="--n-radio-color: green;">男</nRadio>
<nRadio v-model="radioValue" :name="2" style="--n-radio-color: rgba(135, 14, 155, .75);;margin-left: 12px;">女</nRadio>
<nRadio v-model="radioValue" :name="3" style="--n-radio-color: rgba(35, 49, 155, .5);margin-left: 12px;">未知</nRadio>
</view>
<view class="item">
<text>自定义大小:</text>
<nRadio v-model="radioValue" :name="1" style="--n-radio-size: 1em; --n-radio-color: green;">男</nRadio>
<nRadio v-model="radioValue" :name="2" style="--n-radio-size: 1.4em; --n-radio-color: red;margin-left: 12px;">女</nRadio>
<nRadio v-model="radioValue" :name="3" style="--n-radio-size: 20px; --n-radio-color: rgba(35, 49, 155, .5);margin-left: 12px;">未知</nRadio>
</view>
<view class="item">
<text>禁用:</text>
<nRadio :modelValue="1" :name="1" :disabled="true" style="--n-radio-size: 1em;">男</nRadio>
<nRadio :modelValue="1" :name="2" :disabled="true" style="--n-radio-size: 1em;margin-left: 12px;">女</nRadio>
<nRadio :modelValue="1" :name="3" :disabled="true" style="--n-radio-size: 1em;margin-left: 12px;">未知</nRadio>
</view>
<radio-group @change="change">
<view v-for="i in 5">
<nRadio :modelValue="radioValue" :name="i" :canCancel="i != 3" :disabled="i == 1" :isRadioGroup="true" style="--n-radio-size: 16px;">圣诞节{{i}}</nRadio>
</view>
</radio-group>
</view>
import nRadio from '../../uni_modules/components/n-radio/n-radio.vue';
change(val) {
this.radioValue = val.detail.value * 1;
},
.content {
padding: 12px;
.item {
margin-bottom: 12px;
display: flex;
flex-direction: row;
align-items: center;
}
}