iView 4.* 自定义侧边栏触发器(修正)

本文介绍如何使用Vue和iView框架自定义侧边栏菜单,解决多级子菜单隐藏、样式调整及悬停显示标题问题。通过修改Scoped样式和使用Submenu组件,实现侧边栏的伸缩功能。

#1)问题:

去年刚接触vue,写过有关通过iView框架自定义侧边栏触发器的内容。当时对vue和它的生态一窍不通,也没什么基础,回头看之前的那篇文章,我觉得还有很多问题没有解决。另外还有两个小伙伴有问到上一篇中,菜单伸展隐藏的问题,借此机会重新把之前写的整理一下,同时解决一下之前没有解决的问题,希望能给一些小伙伴一些帮助。

#2)过程:

2.1  依赖包,"view-design": "^4.3.2"

2.2 vue-cli创建一个hello项目(过程略)

2.3 使用iView官网的布局模板

2.4 左侧侧边栏的菜单中,添加子菜单组件;右侧头部添加标题;

#3)问题:

(1)解决的主要问题是iview中多级子菜单没有隐藏的问题

主要思路是借鉴 上文2.3中官网的布局模板

给子菜单中的每一个MenuItem 添加Icon标签和span标签,设置不同的css样式,在侧边栏伸展的时候,赋予不同的css样式。

<template>
    <Submenu name="2">
        <template slot="title">
            <Icon type="ios-people" />
            <span> 子菜单标题</span>
        </template>
        <MenuIt
### 关于 iView 中 `this.$Modal.error` 方法自定义标题的实现方法 在 iView 的官方文档中,`this.$Modal.error` 是一种快速显示错误提示的方式[^1]。然而,默认情况下,`this.$Modal.error` 并不支持直接传入自定义标题或内容的参数。若需要实现自定义标题的功能,则可以通过使用 `this.$Modal.confirm` 或 `this.$Modal.customRender` 的方式来模拟类似的行为。 以下是一个通过 `this.$Modal.confirm` 实现自定义标题的示例代码: ```vue <template> <Button @click="showCustomErrorModal">显示自定义错误模态框</Button> </template> <script> export default { methods: { showCustomErrorModal() { this.$Modal.confirm({ title: '自定义错误标题', // 自定义标题 content: '<p>这是一个自定义的错误提示内容。</p>', // 自定义内容 okText: '确认', // 确认按钮文本 cancelText: '取消', // 取消按钮文本 iconType: 'error', // 设置图标类型为错误 onOk: () => { console.log('用户点击了确认'); }, onCancel: () => { console.log('用户点击了取消'); } }); } } }; </script> ``` 通过上述代码,可以实现一个带有自定义标题的错误提示模态框。需要注意的是,虽然这里使用了 `this.$Modal.confirm`,但可以通过设置 `iconType` 参数为 `'error'` 来模拟错误提示的效果[^3]。 如果需要更复杂的自定义功能,例如完全自定义模态框的内容结构,可以参考以下代码示例: ```vue <template> <Button @click="showCustomErrorModal">显示自定义错误模态框</Button> </template> <script> export default { methods: { showCustomErrorModal() { this.$Modal.open({ render: (h) => { return h( 'div', { style: { textAlign: 'center' } }, [ h('h3', { style: { color: 'red' } }, '自定义错误标题'), // 自定义标题 h('p', {}, '这是一个自定义的错误提示内容。'), // 自定义内容 h('Button', { props: { type: 'error' }, on: { click: this.closeModal } }, '关闭') ] ); } }); }, closeModal() { this.$Modal.remove(); } } }; </script> ``` 此代码片段展示了如何通过 `this.$Modal.open` 和 `render` 函数来自定义模态框的结构和样式。 ### 注意事项 - 在实际开发中,推荐根据具体需求选择合适的模态框方法。 - 如果需要频繁调用类似的自定义模态框,可以将其封装为独立的组件以提高代码复用性。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值