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

Vxe UI vue 使用 vxe-tabs 页签实现右侧操作按钮、关闭所有页签、关闭右侧、关闭左侧

Vxe UI vue 使用 vxe-tabs 页签实现右侧操作按钮、关闭所有页签、关闭右侧、关闭左侧

查看 github

<template>
  <div>
    <vxe-tabs v-model="selectTab" :options="tabList">
      <template #extra>
        <vxe-pulldown :options="tabOptions" trigger="click" show-popup-shadow transfer
          @option-click="tabOptionClickEvent">
          <template #default>
            <vxe-button mode="text" icon="vxe-icon-ellipsis-v"></vxe-button>
          </template>
        </vxe-pulldown>
      </template>
    </vxe-tabs>
  </div>
</template>

<script>
import Vue from 'vue'
import { VxeUI } from 'vxe-pc-ui'
import XEUtils from 'xe-utils'
export default {
  data () {
    const tabList = [
      { name: '1', title: '标题1标题1标题1' },
      { name: '2', title: '标题2' },
      { name: '3', title: '标题3标题3标题3' },
      { name: '4', title: '标题4标题4' },
      { name: '5', title: '标题5标题5标题5' },
      { name: '6', title: '标题6标题6标题6标题6标题6标题6' },
      { name: '7', title: '标题7标题7标题7' },
      { name: '8', title: '标题8标题8' },
      { name: '9', title: '标题9标题9标题9' },
      { name: '10', title: '标题10标题10标题10标题10' },
      { name: '11', title: '标题11标题11标题11' },
      { name: '12', title: '标题12标' },
      { name: '13', title: '标题13标题13标题13' },
      { name: '14', title: '标题14标题14' },
      { name: '15', title: '标题15标题15标题15' },
      { name: '16', title: '标题16标题16标题16标题16' }
    ]
    const tabOptions = [
      { label: '关闭其他页签', value: 'closeOther' },
      { label: '关闭左侧页签', value: 'closeLeft' },
      { label: '关闭右侧页签', value: 'closeRight' },
      { label: '刷新页面', value: 'refresh' }
    ]
    return {
      selectTab: '1',
      tabList,
      tabOptions
    }
  },
  methods: {
    tabOptionClickEvent ({ option }) {
      const index = XEUtils.findIndexOf(this.tabList, item => item.name === this.selectTab)
      switch (option.value) {
        case 'closeOther':
          this.tabList = this.tabList.filter(item => item.name === this.selectTab)
          break
        case 'closeLeft':
          this.tabList = this.tabList.slice(index)
          break
        case 'closeRight':
          this.tabList = this.tabList.slice(0, index + 1)
          break
        case 'refresh':
          VxeUI.modal.message({
            content: '刷新页面',
            status: 'success'
          })
          break
      }
    }
  }
}
</script>

在这里插入图片描述


http://www.kler.cn/a/321946.html

相关文章:

  • 从android-webview播放video标签黑屏谈起
  • 前台项目启动/打包报错 Error: error:0308010C:digital envelope routines::unsupported
  • 教你如何在Java中操作Redis
  • 总结下android性能提升方案
  • 替代TPS7A11超高PRSS低噪声低静态低压差稳压器LDO
  • 传奇微端黑屏不更新地图?传奇微端架设教程——GOM引擎
  • matlab恢复默认窗口布局
  • 大模型分布式训练并行技术(七)-自动并行
  • Vue入门之生命周期
  • 计算机网络回顾
  • 数据分析入门
  • STM32精确控制步进电机
  • DK5V100R10VL贴片TO252功率12V4.3A同步整流芯片
  • 1.快速排序算法【分治】
  • python面向对象三大特性
  • 避免glibc版本而报错,CentOS等Linux安装node.js完美方法
  • 如何使用Optuna在PyTorch中进行超参数优化
  • 基于双向 LSTM 和 CRF 的序列标注模型
  • Unity C# 网络学习—WWWForm
  • WPS中让两列数据合并的方法