Element-UI Radio 取消选中

一、前言

在项目中,用的展示几个模块。首先默认会显示一些内容,用单选框选择其他几个模块(这里是用单选框做的)。

现在的新需求是,可以恢复到默认显示的内容。但是 Radio 单选后再点击自己不会取消(笑哭~~)。

所以就找曲线实现这个功能。

二、Change 事件

Radio 暴露出来的只有一个 change 事件。那就先看这个事件能不能实现。

通过调试发现:点击已经选择的 Radio ,不会触发 Change 事件。

那么用这个就不能实现取消的功能。

三、原生 Click 事件

既然组件本身暴露出来的 Change 事件不行,那么就通过原生事件。

添加原生事件:click.native.prevent

<el-radio v-model="activeModel" label="flood" @click.native.prevent="onRadioChange('flood')">显示</el-radio>

对应的 onRadioChange 里面做修改:

复制代码
    onRadioChange(e) {
     // 当点击已经选中的把 activeModel 置空,就是取消选中,并返回
      if (this.activeModel === e) {
        this.activeModel = ''
        return
      }
     // 不是选中,选中当前点击 Radio
      this.activeModel = e
     // 选中操作
    }
复制代码

这样就达到需求的效果

posted @   漠里  阅读(9509)  评论(2编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
点击右上角即可分享
微信分享提示