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 相关文章推荐
javascript 实现子父窗体互相传值的简单实例
Feb 17 Javascript
jquery+css3打造一款ajax分页插件(自写)
Jun 18 Javascript
JS+CSS实现带小三角指引的滑动门效果
Sep 22 Javascript
关于微信中a链接无法跳转问题
Aug 02 Javascript
Jquery Easyui验证组件ValidateBox使用详解(20)
Dec 18 Javascript
微信小程序之GET请求的实例详解
Sep 29 Javascript
Vue2.5学习笔记之如何在项目中使用和配置Vue
Sep 26 Javascript
浅谈React Native 传参的几种方式(小结)
May 21 Javascript
微信小程序拼接图片链接无底洞深入探究
Sep 03 Javascript
vuex+axios+element-ui实现页面请求loading操作示例
Feb 02 Javascript
原生JS实现九宫格抽奖
Sep 13 Javascript
vue+flask实现视频合成功能(拖拽上传)
Mar 04 Vue.js
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文件操作小结(删除指定文件/获取文件夹下的文件名/读取文件夹下图片名)
2016/05/09 PHP
php中引用符号(&amp;)的使用详细介绍
2016/12/06 PHP
swoole和websocket简单聊天室开发
2017/11/18 PHP
Ajax+PHP实现的模拟进度条功能示例
2019/02/11 PHP
Yii框架函数简单用法分析
2019/09/09 PHP
PHP连接SQL server数据库测试脚本运行实例
2020/08/24 PHP
基于Web标准的UI组件 — 树状菜单(2)
2006/09/18 Javascript
js href的用法
2010/05/13 Javascript
Microsfot .NET Framework4.0框架 安装失败的解决方法
2013/08/14 Javascript
jquery中的ajax方法怎样通过JSONP进行远程调用
2014/05/04 Javascript
JavaScript实现获取dom中class的方法
2015/02/09 Javascript
Windows下用PyCharm和Visual Studio开始Python编程
2015/10/26 Javascript
在ASP.NET MVC项目中使用RequireJS库的用法示例
2016/02/15 Javascript
javascript拖拽应用实例
2016/03/25 Javascript
用JS写的一个Ajax库(实例代码)
2016/08/06 Javascript
BootStrap入门教程(二)之固定的内置样式
2016/09/19 Javascript
javascript实现秒表计时器的制作方法
2017/02/16 Javascript
jQuery实现验证表单密码一致性及正则表达式验证邮箱、手机号的方法
2017/12/05 jQuery
详解小程序用户登录状态检查与更新实例
2019/05/15 Javascript
Layui数据表格之单元格编辑方式
2019/10/26 Javascript
详解JavaScript匿名函数和闭包
2020/07/10 Javascript
[02:40]2018年度DOTA2最佳新人-完美盛典
2018/12/16 DOTA
Python中除法使用的注意事项
2014/08/21 Python
举例讲解Python设计模式编程的代理模式与抽象工厂模式
2016/01/16 Python
python回调函数中使用多线程的方法
2017/12/25 Python
利用python实现微信头像加红色数字功能
2018/03/26 Python
django如何连接已存在数据的数据库
2018/08/14 Python
python中map的基本用法示例
2018/09/10 Python
python实现大转盘抽奖效果
2019/01/22 Python
Python PyCharm如何进行断点调试
2019/07/05 Python
在tensorflow中设置使用某一块GPU、多GPU、CPU的操作
2020/02/07 Python
python super()函数的基本使用
2020/09/10 Python
CSS3实现复选框动画特效示例代码
2016/09/27 HTML / CSS
Sneaker Studio乌克兰:购买运动鞋
2018/03/26 全球购物
SQL Server中搜索特定的对象
2022/05/25 SQL Server
SQL解决未能删除约束问题drop constraint
2022/05/30 SQL Server