vue实现select下拉显示隐藏功能


Posted in Javascript onSeptember 30, 2019

今日,怂怂就来说说,在项目中刚遇到这么一个功能需求;

描述:当下拉选择不同的属性选项,需展示对应的内容界面;

select下拉菜单如下:

vue实现select下拉显示隐藏功能

当下拉选择【表结构变更】、即展示如下界面:

vue实现select下拉显示隐藏功能

当下拉选择【接口变更】、即展示如下界面:

vue实现select下拉显示隐藏功能

代码实现 vue.js:

//定义一个select下拉菜单
<el-form-item label="类型">
 <el-select v-model="form.typeChanges">
  <el-option label="表结构变更" value="tableChange"></el-option>
  <el-option label="接口变更" value="interfaceChange"></el-option>
  <el-option label="软件升级" value="softChange"></el-option>
  <el-option label="其他" value="otherChange"></el-option>
 </el-select>
</el-form-item>
//通过结合vue-for循环以及vue-id判断条件
//判断条件一:当下拉选中【表结构变更】,即显示以下界面
 <div v-for="item in items" v-if="form.typeChanges=='tableChange'" >
  <div prop="items">
  <el-form-item label="表名:" >
   <el-input v-model="form.tableName" class="col-sm-8"></el-input>
  </el-form-item>
   <el-form-item label="建表SQL:">
   <el-input type="textarea" v-model="form.createSql" class="col-sm-8"></el-input>
   </el-form-item>
  </div>
 </div>
//判断条件二:当下拉选中【接口变更】,即显示以下界面
 <div v-for="item in items" v-if="form.typeChanges=='interfaceChange'">
  <div prop="items">
   <el-form-item label="接口名:">
    <el-input v-model="form.interfaceName" class="col-sm-8"></el-input>
   </el-form-item>
  </div>
 </div>

代码演示截图:

当下拉选中【表结构变更】:

vue实现select下拉显示隐藏功能

当下拉选中【接口变更】:

vue实现select下拉显示隐藏功能

----------------------------------【功能拓展】---------------------------------------
当面临下拉有百上千个选项的时候,为了提高代码的可读性以及提交代码的运行效率。可以对select下拉自定义一个数组存储;

<el-form-item label="类型:">
  <el-select class="col-sm-3" v-model="change.types">
   <el-option v-for="option in typeOption" :key="option.value" :label="option.label"
      :value="option.value">
   </el-option>
  </el-select>

  <el-select class="col-sm-6" v-model="change.typeChanges" @change="chooseChild">
   <el-option v-for="option in childtypeOption" :key="option.value" :label="option.label"
      :value="option.value">
   </el-option>
  </el-select>
 </el-form-item>

<script>
 export default {
  name: "change",
  data() {
 change{
 //定义自变量
 types;'',
 typeChanges:'',
 },
 //存放拉下选项,一个选项赋予一个value;
 typeOption: [{label: '申请类', value: '0'}],
   childtypeOption: [{label: '表结构变更', value: '0'}, {label: '接口变更', value: '1'}, 
   {label: '软件升级',value: '2'},{label: '其他',value: '2'},] 
}

</script>

运行结果仍然是一致的,也就不做截图参考了!有啥不明白的地方直接直接下方留言私戳我哟。

-------------------------------------------------------今日小结-------------------------------------------------------------

一: v-if条件判断

演示:在元素 和 template 中使用 v-if 指令:

<div id="app">
 <p v-if="seen">现在你看到我了</p>
 <template v-if="ok">
  <h1>v-if教程</h1>
  <p>学的不仅是技术,更是梦想!</p>
  <p>哈哈哈,打字辛苦啊!!!</p>
 </template>
</div>
 
<script>
new Vue({
 el: '#app',
 data: {
 seen: true,
 ok: true
 }
})
</script>

二: v-for 循环

v-for 指令需要以 site in sites 形式的特殊语法, sites 是源数据数组并且 site 是数组元素迭代的别名。

演示:使用v-for 绑定数据到数组来渲染一个列表:代码如下

<div id="app">
 <ol>
 <li v-for="site in sites">
  {{ site.name }}
 </li>
 </ol>
</div>
 
<script>
new Vue({
 el: '#app',
 data: {
 sites: [
  { name: 'Runoob' },
  { name: 'Google' },
  { name: 'Taobao' }
 ]
 }
})
</script>

总结

以上所述是小编给大家介绍的vue实现select下拉显示隐藏功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
用jquery写的一个万年历(自写)
Jan 20 Javascript
js实现将选中内容分享到新浪或腾讯微博
Dec 16 Javascript
jQuery插件制作的实例教程
May 16 Javascript
jquery取消事件冒泡的三种方法(推荐)
May 28 Javascript
关于RequireJS的简单介绍即使用方法
Oct 20 Javascript
分享bootstrap学习笔记心得(组件及其属性)
Jan 11 Javascript
深入解析js轮播插件核心代码的实现过程
Apr 14 Javascript
JavaScript正则表达式简单实用实例
Jun 23 Javascript
基于vue 添加axios组件,解决post传参数为null的问题
Mar 05 Javascript
微信小程序自定义组件之可清除的input组件
Jul 17 Javascript
vuejs点击class变化的实例
Sep 05 Javascript
原生JS与JQ获取元素的区别详解
Feb 13 Javascript
createObjectURL方法实现本地图片预览
Sep 30 #Javascript
微信小程序实现分享商品海报功能
Sep 30 #Javascript
Bootstrap实现模态框效果
Sep 30 #Javascript
HTML+JavaScript实现扫雷小游戏
Sep 30 #Javascript
React+Redux实现简单的待办事项列表ToDoList
Sep 29 #Javascript
JS回调函数简单易懂的入门实例分析
Sep 29 #Javascript
在vue中根据光标的显示与消失实现下拉列表
Sep 29 #Javascript
You might like
利用Ffmpeg获得flv视频缩略图和视频时间的代码
2011/09/15 PHP
PHP登陆后跳转到登陆前页面实现思路及代码
2014/01/17 PHP
排序算法之PHP版快速排序、冒泡排序
2014/04/09 PHP
Laravel 5框架学习之表单验证
2015/04/08 PHP
迪菲-赫尔曼密钥交换(Diffie?Hellman)算法原理和PHP实现版
2015/05/12 PHP
文字幻灯片
2006/06/26 Javascript
Javascript的IE和Firefox兼容性汇编
2006/07/01 Javascript
IE FF OPERA都可用的弹出层实现代码
2009/09/29 Javascript
jQuery弹出层始终垂直居中相对于屏幕或当前窗口
2013/04/01 Javascript
jQuery内容过滤选择器用法示例
2016/09/09 Javascript
js实现下一页页码效果
2017/03/07 Javascript
详解Vue 实例中的生命周期钩子
2017/03/21 Javascript
微信小程序实战之自定义抽屉菜单(7)
2017/04/18 Javascript
Angular简单验证功能示例
2017/12/22 Javascript
如何去除vue项目中的#及其ie9兼容性
2018/01/11 Javascript
在vscode里使用.vue代码模板的方法
2018/04/28 Javascript
Vue中jsx不完全应用指南小结
2019/11/01 Javascript
Python笔记(叁)继续学习
2012/10/24 Python
简单介绍Python的Tornado框架中的协程异步实现原理
2015/04/23 Python
python使用PyGame播放Midi和Mp3文件的方法
2015/04/24 Python
python机器学习之神经网络(二)
2017/12/20 Python
Python通用函数实现数组计算的方法
2019/06/13 Python
python实现WebSocket服务端过程解析
2019/10/18 Python
Python SSL证书验证问题解决方案
2020/01/13 Python
Python使用py2neo操作图数据库neo4j的方法详解
2020/01/13 Python
Python使用Matlab命令过程解析
2020/06/04 Python
基于python实现生成指定大小txt文档
2020/07/20 Python
python rsa-oaep加密的示例代码
2020/09/23 Python
纯css3无js实现的Android Logo(有简单动画)
2013/01/21 HTML / CSS
领导班子自我剖析材料
2014/08/16 职场文书
无财产无子女离婚协议书范文
2014/09/14 职场文书
秋季运动会演讲稿
2014/09/16 职场文书
出国留学自荐信模板
2015/03/06 职场文书
我的法兰西岁月观后感
2015/06/09 职场文书
论语读书笔记
2015/06/26 职场文书
2015国庆节感想
2015/08/04 职场文书