vue动态修改侧边菜单栏宽度

1.添加可修改宽度的dom元素

<div style="background: #f5f7fa;padding: 20px 10px;">
          <label>菜单宽度 </label>
          <el-input v-model="sideWidth" placeholder="请输入宽度值" style="width: 100px"/> px
          <el-button  type="primary" size="small" style="margin: 10px 50px 0px 60px;" @click="sideWidthSave()">保存</el-button>
        </div>

2.在data中定义宽度变量 sideWidth

sideWidth:0,

3.逻辑处理

 /********侧边栏宽度********/
 sideWidthSave(){
   localStorage.setItem('sideWidth',this.sideWidth)
   var sidebarContainer =  document.getElementById("sidebar-container"); // 使用合适的选择器
   var mainContainer =  document.getElementById("main-container");

   sidebarContainer.style.setProperty('--base-sidebar-width', this.sideWidth +'px');
   mainContainer.style.setProperty('--base-sidebar-width', this.sideWidth +'px');
   // console.log('****that.sideWidth***',this.sideWidth)
   // console.log('****`${this.sideWidth}px`***',`${this.sideWidth}`)
   /* location.reload();*/
 },

4.页面加载时,调用存储的宽度值

    created() {   
      /****左侧菜单宽度****/
      let NewSideWidth=localStorage.getItem('sideWidth')
      if(NewSideWidth){
        this.sideWidth = NewSideWidth
        this.$nextTick(function () {
          var sidebarContainer =  document.getElementById("sidebar-container"); // 使用合适的选择器
          var mainContainer =  document.getElementById("main-container");

          sidebarContainer.style.setProperty('--base-sidebar-width', this.sideWidth +'px');
          mainContainer.style.setProperty('--base-sidebar-width', this.sideWidth +'px');
        })
      }
    },

注:–base-sidebar-width 是scss中侧边菜单宽度变量
在这里插入图片描述

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值