当前位置: 首页 > wzjs >正文

用dw做网站怎么做出下拉菜单餐饮营销方案100例

用dw做网站怎么做出下拉菜单,餐饮营销方案100例,做球迷网站,自建站排名Dropdown是 ElementUI 中用于创建下拉菜单项的一个组件,通常el-dropdown-item 包裹在 el-dropdown 组件中使用。以下从功能特性(一些属性及方法)、使用和高级功能(高亮显示,滚动,额外传参数)三个方面进行详细介绍。 一、功能特性 1.触发方式…

Dropdown是 ElementUI 中用于创建下拉菜单项的一个组件,通常el-dropdown-item 包裹在 el-dropdown 组件中使用。以下从功能特性(一些属性及方法)、使用和高级功能(高亮显示,滚动,额外传参数)三个方面进行详细介绍。

一、功能特性

1.触发方式多样

支持 click(点击触发)和 hover(悬停触发)两种方式。

2.命令值传递

通过 command 属性为菜单项设置唯一标识,点击时触发 command 事件并传递该值,便于区分不同选项。

3.动态控制显示

使用 visible-change 事件监听下拉菜单的显示/隐藏状态变化。

通过 visible 属性(需配合 ref)或 showPopper 属性(需配合 el-dropdown-menu 的 ref)手动控制下拉菜单的显示与隐藏。

4.样式与交互优化

支持图标、分割线、禁用状态等样式配置。常用属性:icon: 图标类名,设置菜单项的图标;divided: 是否在菜单项上方显示分割线;disabled: 是否禁用该菜单项。

可通过 hide-on-click 属性控制点击菜单项后是否自动关闭下拉菜单。

二、使用方法

1. 基础用法

<template><el-dropdown @command="handleCommand"><span class="el-dropdown-link">下拉菜单<i class="el-icon-arrow-down el-icon--right"></i></span><el-dropdown-menu slot="dropdown"><el-dropdown-item command="a">选项1</el-dropdown-item><el-dropdown-item command="b" divided>选项2</el-dropdown-item><el-dropdown-item command="c" icon="el-icon-check">选项3</el-dropdown-item><el-dropdown-item command="d" disabled>禁用选项</el-dropdown-item></el-dropdown-menu></el-dropdown>
</template><script>
export default {methods: {handleCommand(command) {console.log('点击了菜单项:', command);// 根据 command 执行不同操作if(command=="a"){// ...},if(command=="b"){},// ...}}
}
</script>

2.动态数据绑定

<template><el-dropdown @command="handleCommand"><span class="el-dropdown-link">{{ selectedOption || '请选择' }}<i class="el-icon-arrow-down el-icon--right"></i></span><el-dropdown-menu slot="dropdown"><el-dropdown-item v-for="item in options" :key="item.value" :command="item.value">{{ item.label }}</el-dropdown-item></el-dropdown-menu></el-dropdown>
</template><script>
export default {data() {return {selectedOption: '',options: [{ label: '选项A', value: 'a' },{ label: '选项B', value: 'b' },{ label: '选项C', value: 'c' }]}},methods: {handleCommand(command) {this.selectedOption = this.options.find(item => item.value === command).label;}}
}
</script>

3. 自定义内容

<el-dropdown-menu slot="dropdown"><el-dropdown-item><i class="el-icon-upload"></i><span>上传文件</span></el-dropdown-item><el-dropdown-item><el-badge :value="12" class="item"><i class="el-icon-message"></i><span>消息</span></el-badge></el-dropdown-item>
</el-dropdown-menu>

三、高级功能

1.当前项高亮

通过动态绑定 class 和 selectedCommand 变量实现

<template><el-dropdown @command="handleCommand"><span class="el-dropdown-link">高亮示例</span><el-dropdown-menu slot="dropdown"><el-dropdown-item v-for="item in options" :key="item.value" :command="item.value":class="{ 'highlight': selectedCommand === item.value }">{{ item.label }}</el-dropdown-item></el-dropdown-menu></el-dropdown>
</template><script>
export default {data() {return {selectedCommand: '',options: [{ label: '选项1', value: 'a' },{ label: '选项2', value: 'b' },{ label: '选项3', value: 'c' }]}},methods: {handleCommand(command) {this.selectedCommand = command;}}
}
</script><style>
.highlight {background-color: #f0f0f0;color: #409EFF;
}
</style>

2.智能滚动定位

当菜单项过多时,可通过 ref 和 this.$nextTick 实现滚动到指定项

<template><el-dropdown ref="dropdownRef" @visible-change="handleVisibleChange"@command="handleCommand"><span class="el-dropdown-link">滚动示例</span><el-dropdown-menu ref="dropdownMenuRef" slot="dropdown"><el-dropdown-item v-for="item in largeOptions" :key="item.value" :command="item.value">{{ item.label }}</el-dropdown-item></el-dropdown-menu></el-dropdown>
</template><script>
export default {data() {return {selectedCommand: 'a', // 默认选中第一项largeOptions: Array.from({ length: 20 }, (_, i) => ({label: `选项${i + 1}`,value: String.fromCharCode(97 + i) // a, b, c, ...}))}},methods: {handleCommand(command) {this.selectedCommand = command;},handleVisibleChange(isVisible) {if (isVisible) {this.$nextTick(() => {const dropdownMenu = this.$refs.dropdownMenuRef.$el;const highlightedItem = dropdownMenu.querySelector('.highlight');if (highlightedItem) {highlightedItem.scrollIntoView({ behavior: 'smooth', block: 'nearest' });}});}}}
}
</script><style>
.highlight {background-color: #f0f0f0;color: #409EFF;
}
</style>

3.传递额外参数

通过对象传递 command 值,结合解构赋值处理

<template><el-dropdown @command="handleCommand"><span class="el-dropdown-link">额外参数示例</span><el-dropdown-menu slot="dropdown"><el-dropdown-item v-for="item in opBtns" :key="item.value" :command="{ command: item.value, row: { id: 1, name: '示例' } }">{{ item.text }}</el-dropdown-item></el-dropdown-menu></el-dropdown>
</template><script>
export default {data() {return {opBtns: [{ value: 'edit', text: '编辑' },{ value: 'delete', text: '删除' }]}},methods: {handleCommand({ command, row }) {console.log('操作类型:', command);console.log('行数据:', row);}}
}
</script>

    注意:

    属性绑定语法:command 属性必须使用 v-bind(简写为 :)绑定,否则无法解析变量。

    触发方式限制:trigger 属性不能使用 v-bind 绑定,否则会报错。

    样式覆盖:若需深度自定义样式,可使用 ::v-deep 或 /deep/ 选择器。

    性能优化:大数据量时,建议使用虚拟滚动或分页加载。
     若文章对你有帮助,点赞、收藏加关注吧!


     

    http://www.dtcms.com/wzjs/171824.html

    相关文章:

  1. 姜堰网站建设外链发布软件
  2. pc端网站开发技术爱站网关键词查询网站的工具
  3. 公司建一个网站吗公司网站搭建
  4. 做网站怎么买域名网站点击量统计
  5. 网站怎么做切换图片中国教师教育培训网
  6. 襄阳建设网站山西seo排名
  7. 深圳专业做网站建网站价格游戏代理加盟平台
  8. 合肥网站建设王正刚软文发布的平台与板块
  9. 凡科做的网站好吗服务营销策划方案
  10. 宝鸡网站制作英文seo是什么意思
  11. 景县有专业做网站人员吗班级优化大师app
  12. 网站建设与管理收获网站怎样被百度收录
  13. 商丘手机网站制作北京网站建设东轩seo
  14. 深圳专业网站建设公司好吗企业查询软件
  15. 婚纱摄影的网站怎么做人力资源培训机构
  16. 网站建设一般的费用绍兴seo排名外包
  17. 武汉营销型网站建设公司哪家专业温州企业网站排名优化
  18. 哪个网站可以做视频外链百度指数查询手机版
  19. wordpress用户自定义密码百度seo优化系统
  20. 做网站赚钱交税百度投诉电话24小时
  21. 网站ip如何做跳转平台做推广的技巧
  22. Html5做旅游网站的设计思路模板建站网页
  23. 建设银行手机网站关键词挖掘机爱站网
  24. wordpress issetseo是一种利用搜索引擎的
  25. 成都直销系统网站开发网络服务合同纠纷
  26. 手机个人简历模板下载网站模板驻马店百度seo
  27. 毕设可以是仿照其他网站做吗百度客服人工
  28. 电子商务网站开发流程seo教学
  29. 沈阳网站建设syfzkj网站运营与维护
  30. 为什么要建设双端网站推广联盟