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 要点归纳(二) jQuery中的DOM操作(下)
Mar 23 Javascript
javascript 通用简单的table选项卡实现
May 07 Javascript
解析Jquery取得iframe中元素的几种方法
Jul 04 Javascript
js内置对象处理_打印学生成绩单的简单实现
Sep 24 Javascript
javascript设计模式之中介者模式学习笔记
Feb 15 Javascript
jQuery插件HighCharts实现2D柱状图、折线图的组合多轴图效果示例【附demo源码下载】
Mar 09 Javascript
微信小程序 本地数据读取实例
Apr 27 Javascript
详解Vue 2.0封装axios笔记
Jun 22 Javascript
Vue的MVVM实现方法
Aug 16 Javascript
Vue.js 2.0和Cordova开发webApp环境搭建方法
Feb 26 Javascript
JavaScript继承的特性与实践应用深入详解
Dec 30 Javascript
使用 node.js 模仿 Apache 小部分功能
Jul 07 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
PHP语法小结之基础和变量
2015/11/22 PHP
PHP实现字母数字混合验证码功能
2019/07/11 PHP
document.getElementById方法在Firefox与IE中的区别
2010/05/18 Javascript
详谈jQuery中的this和$(this)
2014/11/13 Javascript
原生JavaScript编写俄罗斯方块
2015/03/30 Javascript
基于JavaScript实现高德地图和百度地图提取行政区边界经纬度坐标
2016/01/22 Javascript
jQuery文字轮播特效
2017/02/12 Javascript
防止重复发送 Ajax 请求
2017/02/15 Javascript
javascript实现滑动解锁功能
2017/03/22 Javascript
vue实现todolist单页面应用
2017/04/11 Javascript
vue2.0 中#$emit,$on的使用详解
2017/06/07 Javascript
JavaScript实现无刷新上传预览图片功能
2017/08/02 Javascript
JavaScript实现树的遍历算法示例【广度优先与深度优先】
2017/10/26 Javascript
使用Electron构建React+Webpack桌面应用的方法
2017/12/15 Javascript
JavaScript键盘事件响应顺序详解
2019/09/30 Javascript
Element的el-tree控件后台数据结构的生成以及方法的抽取
2020/03/05 Javascript
Python 多进程并发操作中进程池Pool的实例
2017/11/01 Python
python中利用h5py模块读取h5文件中的主键方法
2018/06/05 Python
如何优雅地改进Django中的模板碎片缓存详解
2018/07/04 Python
深入浅析Python中的迭代器
2019/06/04 Python
python使用pip安装SciPy、SymPy、matplotlib教程
2019/11/20 Python
基于Python爬虫采集天气网实时信息
2020/06/05 Python
python爬虫请求头的使用
2020/12/01 Python
详解如何在css中引入自定义字体(font-face)
2018/05/17 HTML / CSS
Lululemon英国官网:加拿大瑜伽服装品牌
2019/01/14 全球购物
波兰在线体育用品商店:Hop-Sport.pl
2019/07/23 全球购物
几个人围成一圈的问题
2013/09/26 面试题
介绍一下linux文件系统分配策略
2013/02/25 面试题
工作表现评语
2014/01/19 职场文书
搞笑获奖感言
2014/01/30 职场文书
入党积极分子评语
2014/05/04 职场文书
大二学生学年自我鉴定
2014/09/12 职场文书
2015年爱牙日活动总结
2015/02/05 职场文书
车间统计员岗位职责
2015/04/14 职场文书
2015年安置帮教工作总结
2015/05/22 职场文书
水知道答案观后感
2015/06/08 职场文书