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 源代码显示控件 (Ajax加载方式).
May 18 Javascript
javascript AOP 实现ajax回调函数使用比较方便
Nov 20 Javascript
jquery用offset()方法获得元素的xy坐标
Sep 06 Javascript
JavaScript中实现依赖注入的思路分享
Jan 15 Javascript
Bootstrap入门书籍之(零)Bootstrap简介
Feb 17 Javascript
JavaScript提高网站性能优化的建议(二)
Jul 24 Javascript
js窗口震动小程序分享
Nov 28 Javascript
js 动态生成json对象、时时更新json对象的方法
Dec 02 Javascript
jQuery EasyUI Accordion可伸缩面板组件使用详解
Feb 28 Javascript
vue的mixins属性详解
Mar 14 Javascript
基于vue-ssr的静态网站生成器VuePress 初体验
Apr 17 Javascript
vue中实现点击变成全屏的多种方法
Sep 27 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
10个简化PHP开发的工具
2014/12/25 PHP
YII Framework框架教程之安全方案详解
2016/03/14 PHP
PHP中Cookie的使用详解(简单易懂)
2017/04/28 PHP
基于laravel Request的所有方法详解
2019/09/29 PHP
学习js在线html(富文本,所见即所得)编辑器
2012/12/18 Javascript
js onload事件不起作用示例分析
2013/10/09 Javascript
javascript相等运算符与等同运算符详细介绍
2013/11/09 Javascript
关于Jquery中的bind(),on()绑定事件方式总结
2016/10/26 Javascript
浅谈针对Vue相同路由不同参数的刷新问题
2018/09/29 Javascript
create-react-app使用antd按需加载的样式无效问题的解决
2019/02/26 Javascript
微信小程序移动拖拽视图-movable-view实例详解
2019/08/17 Javascript
vue+导航锚点联动-滚动监听和点击平滑滚动跳转实例
2019/11/13 Javascript
JavaScript实现tab栏切换效果
2020/03/16 Javascript
在Linux系统上部署Apache+Python+Django+MySQL环境
2015/12/24 Python
Python中int()函数的用法浅析
2017/10/17 Python
获取python的list中含有重复值的index方法
2018/06/27 Python
Python 删除整个文本中的空格,并实现按行显示
2018/07/24 Python
用python脚本24小时刷浏览器的访问量方法
2018/12/07 Python
基于sklearn实现Bagging算法(python)
2019/07/11 Python
利用Python模拟登录pastebin.com的实现方法
2019/07/12 Python
python pyinstaller打包exe报错的解决方法
2019/11/02 Python
JAVA SWT事件四种写法实例解析
2020/06/05 Python
css3过渡_动力节点Java学院整理
2017/07/11 HTML / CSS
使用CSS媒体查询(Media Queries)和JavaScript判断浏览器设备类型的方法
2014/04/03 HTML / CSS
实习生单位鉴定意见
2013/12/04 职场文书
土建资料员岗位职责
2014/01/04 职场文书
毕业生个人求职信范文分享
2014/01/05 职场文书
超市重阳节活动方案
2014/02/10 职场文书
幼儿园大班教学反思
2014/02/10 职场文书
幼儿园招生广告
2014/03/19 职场文书
医院护士见习期自我鉴定
2014/04/10 职场文书
干部考核评语
2014/04/29 职场文书
跑操口号
2014/06/12 职场文书
小学学校门卫岗位职责
2014/08/03 职场文书
团结友爱主题班会
2015/08/13 职场文书
python神经网络 tf.name_scope 和 tf.variable_scope 的区别
2022/05/04 Python