首页 > 其他 > 详细

【vue】elementui中通过radio单选框点选实现某个元素的的隐藏与显示

时间:2021-01-12 16:26:27      阅读:699      评论:0      收藏:0      [点我收藏+]

开发中突然出现一个逻辑,根据单选框的点击,显示与隐藏某个元素

学习的时候可以直接在data里定义参数来用v-show实现,但是现在不能用自定义的参数了,要用单选框内的参数

单选框设置如下

export default{
   data(){
         return{
            unitOrganization:[
            {label:"持证机构",value:1},
            {label:"合作机构",value:0},
        ],
     }
   }
}

技术分享图片

 

 

 页面html内容如下

<el-form-item label="你单位为:">
  <el-radio-group v-model="detaProducadd.nature">
      <el-radio   v-for="item in unitOrganization" :label="item.label"  :key="item.value">{{item.label}}</el-radio>
   </el-radio-group>
</el-form-item>

技术分享图片

 

 

 

页面要使用单选控制隐藏与显示的内容

<el-form-item label="持证机构">
   <el-input size="mini" v-model="detaProducadd.holderIns"></el-input>
</el-form-item>
<el-form-item label="合作机构">
   <el-input size="mini" v-model="detaProducadd.coopIns"></el-input>
</el-form-item>

 

一开始设想的是使用el-radio中的value通过v-show来控制内容的显示与隐藏,但是后面发现接参的变量nature只能获取label值,所以我们转变思路用label来控制

代码如下:

<el-form-item label="持证机构" v-show="detaProducadd.nature===‘合作机构‘">
    <el-input size="mini" v-model="detaProducadd.holderIns"></el-input>
</el-form-item>
<el-form-item label="合作机构" v-show="detaProducadd.nature===‘持证机构‘">
    <el-input size="mini" v-model="detaProducadd.coopIns"></el-input>
</el-form-item>

技术分享图片

 

 这个时候就可以根据radio的点选内容来控制元素的显示与隐藏了,v-show和v-if都可以,前者懒加载,占用内存,通过display来控制元素的隐藏与显示,后者是直接创建与释放内存

注1:其中的nature是自由命名的接收参数,使用v-model绑定

技术分享图片

 

 技术分享图片

 

【vue】elementui中通过radio单选框点选实现某个元素的的隐藏与显示

原文:https://www.cnblogs.com/nip-forset/p/14266101.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!