vue隐藏表单,vue 控制显示隐藏

  vue隐藏表单,vue 控制显示隐藏

  这篇文章主要为大家详细介绍了某视频剪辑软件实现动态控制表格列的显示隐藏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  本文实例为大家分享了某视频剪辑软件实现动态控制表格列显示隐藏的具体代码,供大家参考,具体内容如下

  

一、效果

  如上图所示,点击桌子右上方的表格按钮,弹出菜单栏,进行勾选,从而达到表格对应列显示和隐藏

  

二、代码

  1.HTML部分

  模板

  div id=应用程序

  El-table:data=表格数据边框样式=宽度:100% ref=表格

  埃尔-表格-列

  固定的;不变的

  prop=date

  标签=日期

  宽度=150

  v-if=showColumn.date

  /El-表格-列

  埃尔-表格-列

  prop=name

  标签=姓名

  宽度=120

  v-if=showColumn.name

  /El-表格-列

  埃尔-表格-列

  省

  标签=省份

  宽度=120

  v-if=showColumn.provinces

  /El-表格-列

  埃尔-表格-列

  prop=城市

  标签=市区

  宽度=120

  v-if=showColumn.city

  /El-表格-列

  埃尔-表格-列

  prop=地址

  标签=地址

  宽度=300

  v-if=显示列。“地址”

  /El-表格-列

  埃尔-表格-列

  prop=zip

  标签=邮编

  宽度=120

  v-if=showColumn.zipCode

  /El-表格-列

  埃尔-表格-列固定=右宽=100 对齐=居中

  模板slot=header

  我

  埃尔图标设置

  style= font-size:22px;光标:指针

  @click=showColumnOption

  /i

  /模板

  模板槽-范围="范围"

  El-button @ click= handle click(范围。row) type= text size= small

  查看/el-button

  El-button type= text size= small 编辑/el-button

  /模板

  /El-表格-列

  /el-table

  !-配置列面板-

  过渡名称=淡化

  div class=列选项 v-show= isShowColumn

  div class=内容

  div class=head 选择显示字段/div

  div class=body

  埃尔-复选框v-model=checkList.date 已禁用日期/El-复选框

  El-checkbox v-model=检查列表。名称姓名/El-复选框

  El-checkbox v-model=检查列表。省份省份/El-复选框

  El-checkbox v-model=检查列表。“城市”市区/El-复选框

  El-checkbox v-model=检查列表。“地址”地址/El-复选框

  El-checkbox v-model=检查列表。邮政编码邮编/El-复选框

  /div

  div class=页脚

  El-button size= small type= primary plain @ click= save column

  保存列配置/el-button

  /div

  /div

  /div

  /过渡

  /div

  /模板

  通过v-if=showColumn.date 来判断表格对应列的状态

  2.javascript部分

  脚本

  导出默认值{

  data() {

  返回{

  isShowColumn: false,

  表格数据:[

  {

  日期:"2016年5月2日",

  名称: 王小虎,

  省: 上海,

  城市: 普陀区,

  地址: 上海市普陀区金沙江路1518 弄,

  邮编:200333,

  },

  {

  日期:"2016年5月四日",

  名称: 王小虎,

  省: 上海,

  城市: 普陀区,

  地址: 上海市普陀区金沙江路1517 弄,

  邮编:200333,

  },

  {

  日期:"2016年5月一日",

  名称: 王小虎,

  省: 上海,

  城市: 普陀区,

  地址: 上海市普陀区金沙江路1519 弄,

  邮编:200333,

  },

  {

  日期:"2016年5月3日",

  名称: 王小虎,

  省: 上海,

  城市: 普陀区,

  地址: 上海市普陀区金沙江路1516 弄,

  邮编:200333,

  },

  ],

  //列的配置化对象,存储配置信息

  清单:{},

  显示列:{

  日期:真,

  名:真,

  省份:没错,

  城市:没错,

  是的,

  邮政编码:没错,

  },

  };

  },

  观察:{

  //监听复选框配置列所有的变化

  清单:{

  处理程序:函数(newnew,oldold) {

  //控制台。日志(new new);

  这个。show column=new new

  //这里需要让表格重新绘制一下,否则会产生固定列错位的情况

  这个. nextTick(()={

  这个参考文献。桌子。dolayout();

  });

  },

  深:真的,

  即时:正确

  },

  },

  已安装(){

  //发请求得到检查列表初始化数据的列的名字

  如果(本地存储。getitem( columnSet ){

  这个。检查表=JSON。解析(本地存储。getitem(列et ))

  }否则{

  this.checkList={

  日期:真,

  名:真,

  省份:没错,

  城市:没错,

  是的,

  邮政编码:没错,

  };

  }

  },

  方法:{

  手柄单击(行){

  控制台。日志(行);

  },

  showColumnOption() {

  this.isShowColumn=true

  },

  存储列(){

  本地存储。setitem( columns et ,JSON.stringify(this.checkList))

  this.isShowColumn=false

  },

  },

  };

  /脚本

  3.css样式部分。columnOption {

  位置:固定;

  z指数:20;

  top:0;

  左:0;

  宽度:100%;

  身高:100%;

  背景色:rgba(0,0,0,0.3);

  显示器:flex

  弹性-方向:行-反向;内容{

  宽度:100像素

  身高:100%;

  背景色:rgb(203,223,198);头部{

  宽度:100%;

  身高:44px

  边框-底部:1px纯色# 000;

  显示器:flex

  对齐-内容:居中;

  对齐-项目:居中;

  字体大小:12px

  }。正文{

  宽度:100%;

  高度:calc(100%-88px);

  框大小:边框-框;

  填充顶部:10px

  溢出-y:自动;项目{

  宽度:100%;

  身高:100%;

  溢出-y:自动;

  显示器:flex

  伸缩方向:列;埃尔-复选框{

  宽度:100%;

  高度:28px

  行高:28px

  边距-底部:14px

  显示:内嵌-块;

  字体系列:方平SC;

  字体样式:正常;

  字体粗细:正常;

  字体大小:14px

  颜色:# 000;

  溢出:隐藏;

  文本溢出:省略号;

  空白:nowrap

  框大小:边框-框;

  左填充:14px

  }。埃尔-复选框:悬停{

  背景色:# f5f 7 fa

  }

  }

  }。页脚{

  宽度:100%;

  身高:44px

  边框顶部:1px纯色# 000;

  显示器:flex

  对齐-内容:居中;

  对齐-项目:居中;

  }

  }

  }

  //控制淡入淡出效果。淡入激活,淡化-保持活动状态{

  转场:不透明度0.3秒

  }。淡入,淡出-离开至{

  不透明度:0;

  }

  以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: