uni-app NVUE 引用 radio 报 r._$bus.off is not a function
uni-app NVUE 引用 radio 报 r._$bus.off is not a function
| 类别 | 信息 |
|---|---|
| 产品分类 | uniapp/App |
| PC开发环境 | Windows |
| PC版本号 | I7-9750H |
| HBuilderX | 正式 |
| HBuilderX版本 | 3.2.3 |
| 手机系统 | Android |
| 手机版本号 | Android 11 |
| 手机厂商 | 华为 |
| 手机机型 | 荣耀20 |
| 页面类型 | nvue |
| 打包方式 | 云端 |
| 项目创建方式 | HBuilderX |
示例代码:
<radio-group class="uni_row radio-group" @change="radioChange($event,0,SFItems)">
<label class="uni_row" v-for="(item,index) in SFItems" :key="index">
<radio class="rradio" :id="item.name" :value="item.name" :checked="item.checked"></radio>
<text class="radiotxt">{{item.value}}</text>
</label>
</radio-group>
SFItems: [
{
name: 1,
value: ‘首次发布’,
checked: false
},
{
name: 0,
value: ‘非首发’,
checked: false
}
]
操作步骤:
<radio-group class="uni_row radio-group" @change="radioChange($event,0,SFItems)">
<label class="uni_row" v-for="(item,index) in SFItems" :key="index">
<radio class="rradio" :id="item.name" :value="item.name" :checked="item.checked"></radio>
<text class="radiotxt">{{item.value}}</text>
</label>
</radio-group>
SFItems: [
{
name: 1,
value: ‘首次发布’,
checked: false
},
{
name: 0,
value: ‘非首发’,
checked: false
}
]
预期结果:
- 不爆错
实际结果:
- 爆错 r._$bus.off is not a function
bug描述:
在nvue页面引用 radio-group,radio 报错。r._$bus.off is not a function
更多关于uni-app NVUE 引用 radio 报 r._$bus.off is not a function的实战教程也可以访问 https://www.itying.com/category-93-b0.html
用radio示例代码能出现你的问题吗?
此设备在旧版是否正常?
此版本使用其他设备是否正常?
更多关于uni-app NVUE 引用 radio 报 r._$bus.off is not a function的实战教程也可以访问 https://www.itying.com/category-93-b0.html
应该是多了一个id绑定的问题造成了。谢谢
这是一个已知的 uni-app nvue 平台问题,主要原因是 radio 组件在 nvue 中的事件总线处理存在兼容性问题。
解决方案:
-
升级 HBuilderX 到最新版本(建议 3.3.0+),新版已修复此问题。
-
临时解决方案(如果无法立即升级):
- 使用
radio的@click事件替代radio-group的@change - 手动管理选中状态:
- 使用
<view class="uni_row radio-group">
<label class="uni_row" v-for="(item,index) in SFItems" :key="index" @click="handleRadioClick(index)">
<radio class="rradio" :id="item.name" :value="item.name" :checked="currentIndex === index"></radio>
<text class="radiotxt">{{item.value}}</text>
</label>
</view>
export default {
data() {
return {
SFItems: [...],
currentIndex: -1
}
},
methods: {
handleRadioClick(index) {
this.currentIndex = index
// 处理业务逻辑
}
}
}

