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 相关文章推荐
一实用的实现table排序的Javascript类库
Sep 12 Javascript
js的onload事件及初始化按钮事件示例代码
Sep 25 Javascript
前端轻量级MVC框架CanJS详解
Sep 26 Javascript
javascript学习笔记(五)原型和原型链详解
Oct 08 Javascript
jQuery中:checkbox选择器用法实例
Jan 03 Javascript
javascript获取select值的方法分析
Jul 02 Javascript
jQuery简单实现两级下拉菜单效果代码
Sep 15 Javascript
iscroll动态加载数据完美解决方法
Jul 18 Javascript
详解React中的组件通信问题
Jul 31 Javascript
Vue 2.0入门基础知识之内部指令详解
Oct 15 Javascript
Vue 中批量下载文件并打包的示例代码
Nov 20 Javascript
Javascript 关于基本类型和引用类型的个人理解
Nov 01 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 用sock技术发送邮件的函数
2007/07/21 PHP
php 获取远程网页内容的函数
2009/09/08 PHP
10条PHP高级技巧[修正版]
2011/08/02 PHP
PHP实现的曲线统计图表示例
2016/11/10 PHP
jQuery Easyui Tabs扩展根据自定义属性打开页签
2016/08/15 Javascript
移动端Ionic App 资讯上下循环滚动的实现代码(跑马灯效果)
2017/08/29 Javascript
初探js和简单隐藏效果的实例
2017/11/23 Javascript
AngularJS监听ng-repeat渲染完成的两种方法
2018/01/16 Javascript
vue+springboot实现项目的CORS跨域请求
2018/09/05 Javascript
一次Webpack配置文件的分离实战记录
2018/11/30 Javascript
webpack3里使用uglifyjs压缩js时打包报错的解决
2018/12/13 Javascript
浅谈发布订阅模式与观察者模式
2019/04/09 Javascript
Angular2使用SVG自定义图表(条形图、折线图)组件示例
2019/05/10 Javascript
javascript用defineProperty实现简单的双向绑定方法
2020/04/03 Javascript
原生js实现的观察者和订阅者模式简单示例
2020/04/18 Javascript
python实现rest请求api示例
2014/04/22 Python
wxpython中利用线程防止假死的实现方法
2014/08/11 Python
Windows下使Python2.x版本的解释器与3.x共存的方法
2015/10/25 Python
Request的中断和ErrorHandler实例解析
2018/02/12 Python
pycharm 解除默认unittest模式的方法
2018/11/30 Python
Python通过TensorFLow进行线性模型训练原理与实现方法详解
2020/01/15 Python
Python实现栈的方法详解【基于数组和单链表两种方法】
2020/02/22 Python
Python 实现3种回归模型(Linear Regression,Lasso,Ridge)的示例
2020/10/15 Python
python中编写函数并调用的知识点总结
2021/01/13 Python
纯HTML5+CSS3制作生日蛋糕代码
2016/11/16 HTML / CSS
html5启动原生APP总结
2020/07/03 HTML / CSS
夏威夷航空官网:Hawaiian Airlines
2016/09/11 全球购物
台湾团购、宅配和优惠券:17Life
2017/08/14 全球购物
会计专业的自荐信
2013/12/12 职场文书
财务会计专业个人求职信范本
2014/01/08 职场文书
工作违纪检讨书
2014/02/17 职场文书
禁毒宣传标语
2014/06/19 职场文书
2014年车间主任工作总结
2014/12/10 职场文书
高中教师个人工作总结
2015/02/10 职场文书
2016国庆促销广告语
2016/01/28 职场文书
python如何做代码性能分析
2021/04/26 Python