vue实例之组件开发:多标签切换组件/tabs切换组件

news/2024/7/10 1:29:53 标签: vue, 组件

一、自定义方式:

定义组件Tabs.vue

<template>
  <div class="tabs">
      <button v-for="(tab, key) in tabs" :key="key" @click="index=key" :class="{'active': key==index}">{{tab}}</button>
      <ul>
        <li v-for="(content, key) in contents" :key="key" v-show="key==index">{{content}}</li>
      </ul>
  </div>
</template>

<script>
  export default {
    data(){
      return {
        index: 0
      }
    },
    props: ["tabs", "contents"]
  }
</script>

<style scoped="">
.tabs{

}
.tabs button{
  width: 60px;
  height: 30px;
  line-height: 20px;
  cursor: pointer;
}
.tabs button {
  padding: 6px 10px;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  border: 1px solid #ccc;
  cursor: pointer;
  background: #f0f0f0;
  margin-bottom: -1px;
  margin-right: -1px;
}
.tabs button:hover {
  background: #e0e0e0;
}
.tabs button.active {
  background: #e0e0e0;
}
.tabs ul{
  padding: 0;
  margin: 0;
}
.tabs li{
  list-style-type: none;
  margin: 0;
  border: 1px solid #ccc;
  padding: 10px;
}
</style>

使用组件Tabs.vue

<template>
  <div>
    <Tabs :tabs="tabs" :contents="contents"></Tabs>
  </div>
</template>

<script>
import Tabs from './Tabs'
export default {
  data() {
    return {        
      tabs: ["post", "get", "patch"],
      contents: ["content1", "content2", "content3"]
    }
  },
  components: {
    Tabs
  }
};
</script>

<style scoped="">

</style>

 


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

相关文章

go 切片及其基本操作

1.1切片 Go中常用的数据结构是切片&#xff0c;即动态数组&#xff0c;其长度并不固定&#xff0c;我们可以向切片中追加元素&#xff0c;它会在容量不足时自动扩容。 在 Go 语言中&#xff0c;切片类型的声明方式与数组有一些相似&#xff0c;不过由于切片的长度是动态的&am…

vue插件开发的两种方法:以通知插件toastr为例

方法一&#xff1a; 1、写插件&#xff1a; 在 src 文件夹下面建 lib 文件夹用于存放插件&#xff0c;lib 文件夹下再建toastr文件夹&#xff0c;在toastr文件夹下新建 toastr.js 和 toastr.vue两个文件。整个项目目录如下所示&#xff1a; toastr.vue 的内容如下&#xff1a…

webuploader如何判断是否上传的是空文件?

在beforeFileQueued事件中可以判断&#xff1a; // 当有文件被添加进队列的时候 uploader.on( beforeFileQueued, function( file ) {if(file.size 0){alert("请不要上传空文件");} });

ztree中如何通过点击节点文字就可以选中节点前的选择框,并且父级和子级之间进行选择联动?

配置信息如下&#xff1a; var UsersTreeSetting {check : {enable : true,chkboxType : {"Y" : "ps","N" : "ps"}},view : {dblClickExpand : false,selectedMulti: false},data : {simpleData : {enable : true}},callback : {bef…

vue实例之组件开发:购物车实现

效果图 文件目录 Index.vue&#xff1a; <template><div class"shopping"><Header /><Itemv-for"item in items":key"item.id":item"item"change-number"changeNumber"/><Footer :items"…

vue实例:实现数据的增删改查(纯前端)

<template><div class"container"><div class"input-bar"><table><tbody><td>标题&#xff1a;</td><td><input type"text" v-model"addObj.title"/></td><td>发布…

GO语言的defer 关键字

介绍 Go 语言的 defer 会在当前函数返回前执行传入的函数&#xff0c;它会经常被用于关闭文件描述符、关闭数据库连接以及解锁资源。 作为一个编程语言中的关键字&#xff0c;defer 的实现一定是由编译器和运行时共同完成的&#xff0c;不过在深入源码分析它的实现之前我们还…

加载状态的实现

.shade {position: fixed;top: 0;left: 0;height: 100%;width: 100%;background: #FFFFFF;z-index:99999;filter:alpha(opacity100); /* IE */-moz-opacity: 1; /* Moz FF */opacity: 1; /* 支持CSS3的浏览器&#xff08;FF 1.5也支持&#xff09;*/display: none; }.shade ta…