使用elementui的el-tabs标签页,点击一个tabs后,下面的组件进行刷新

news/2024/7/9 23:50:08 标签: vue, js, vue.js, html, jquery

使用elementui的el-tabs标签页,再点击后,下面的组件进行刷新

在父组件使用

<template>
    <div class="box">
        <h3 style="text-align: center;">微微派单管理系统</h3>
        <template>
            <el-tabs v-model="activeName" @tab-click="handleLoad">
                <el-tab-pane label="用户" name="1">
                    <userInfo :key="timer1"></userInfo>
                </el-tab-pane>
                <el-tab-pane lazy label="数据导入" name="2" >
                    <improtData :key="timer2"></improtData>
                </el-tab-pane>
                <el-tab-pane lazy label="数据分析" name="3">
                    <analysisData :key="timer3"></analysisData>
                </el-tab-pane>
                <el-tab-pane lazy label="群" name="4">
                    <group :key="timer4"></group>
                </el-tab-pane>
            </el-tabs>
        </template>
    </div>
</template>
<script>
import userInfo from '../components/user.html" title=vue>vue'
import improtData from '../components/improtData.html" title=vue>vue'
import analysisData from '../components/analysisData.html" title=vue>vue'
import group from '../components/group.html" title=vue>vue'
export default {
  data () {
    return {
        activeName: '1',
        timer1:'',
        timer2:'',
        timer3:'',
        timer4:''
    }
  },
  methods: {
    // handleClick (tab, event) {
    //     console.log(tab, event)
    // },
    handleLoad (data) {
        let name = data.name
        if(name == 1){
        this.timer1 = new Date().getTime()
      }else if(name == 2){
        this.timer2 = new Date().getTime()
      }else if(name == 3){
        this.timer3 = new Date().getTime()
      }else if(name == 4){
        this.timer4 = new Date().getTime()
      }
    }
  },
  components: {
       userInfo: userInfo,
       improtData:improtData,
       analysisData:analysisData,
       group:group
  }
}
</script>
<style lang="stylus" scoped>
.box{
    padding 10px
}
/deep/ .el-tabs__item{
    width 100px;
    text-align center
}
</style>

在子组件的created(){}添加

created() {
        console.log('点击加载了')
    },

这样可以完成了,选项卡点击tabs页,刷新下面的组件内容。也可以适用于点击父组件然后刷新子组件页面刷新,接口数据。调用接口api


http://www.niftyadmin.cn/n/861598.html

相关文章

elementui的上传功能-上传图片加参数

elementui的上传功能-上传图片加参数 <el-form class"up-code"><el-form-item><el-uploadclass"upload-demo upload-flex"action"#"ref"upload":on-preview"handlePreview":on-remove"handleRemove&qu…

elementui的文件上传功能-.上传文件-带参数-手动

elementui的文件上传功能-.上传文件-带参数-手动 <el-form :inline"true" :model"formInline" ref"formInline" class"demo-form-inline" size"mini" style"padding-right:10px;padding-left:10px;padding-top:20p…

elementui的el-table的插槽功能,添加判断值,在单元格添加输入框,点击事件等等

elementui的el-table的插槽功能&#xff0c;添加判断值&#xff0c;在单元格添加输入框&#xff0c;点击事件等等 <el-table ref"multipleTable" :data"data" tooltip-effect"dark" border style"width: 100%" selection-<el-t…

在el-table的功能,并且在单元格里面加入输入框

在我们的前端拿到后端返回的数据的时候&#xff0c;需要在el-table的功能&#xff0c;并且在单元格里面加入输入框&#xff0c;为了让输入框的输入时候不会影响到其他的输入框&#xff0c;可以使用input来获取输入框内容的值 <el-table><el-table-column prop"r…

v-for里面再嵌套一个v-for的写法

v-for里面再嵌套一个v-for的写法 list:[id:,goods:[images:,product:,desc:] ]<div class"listContent" v-for"item in list" :key"item.id"><span>{{item.create_time_i | formatDate}}</span><div class" van-hair…

关闭vue-cli脚手架的eslint的规范准则

在使用vue-cli脚手架来生成vue项目文件的时候&#xff0c;会发现有个自带的代码规范eslint&#xff0c;非常麻烦&#xff0c;其实你只要找到.eslintrc.js里面&#xff0c;把standard给注释了就好了&#xff0c;或者是vue-standard给注释了&#xff0c;如下 module.exports {r…

vue打包elementUI的时候,小图标变成小方框

在vue的build文件夹找到utils.js文件&#xff0c;然后在下面这个位置添加 publicPath: ../../function generateLoaders (loader, loaderOptions) {const loaders options.usePostCSS ? [cssLoader, postcssLoader] : [cssLoader,px2remLoader]if (loader) {loaders.push({l…

vue打包后,网页打开是空白页的解决办法

在config文件夹下的index.js中&#xff0c;找到 assetsPublicPath: / 然后改成 assetsPublicPath: ./build: {// Template for index.htmlindex: path.resolve(__dirname, ../dist/index.html),// PathsassetsRoot: path.resolve(__dirname, ../dist),assetsSubDirectory: stat…