在线直播源码,开发一个下拉菜单组件

发布时间 2023-10-17 14:15:38作者: 云豹科技-苏凌霄

在线直播源码,开发一个下拉菜单组件

1. 创建dropdown组件

 

<template>
  <div>
    <a class="btn btn-outline-light dropdown-toggle my-2" @click.prevent="toggleOpen">{{ title }}</a>
    <ul v-if="isOpen" :style="{display: 'block'}">
      <slot></slot>
    </ul>
  </div>
</template>
<script>
import {defineComponent, ref} from 'vue'
export default defineComponent({
  name: "Dropdown",
  props: {
    title: String
  },
  setup() {
    const isOpen = ref(false)
    const toggleOpen = () => {
      isOpen.value = !isOpen.value
    }
    return {
      isOpen,
      toggleOpen
    }
  }
})
</script>
 

要点: slot插槽用于填充组件。vue3与vue2的不同点在于,变量使用了ref来表示,改变变量需要改变变量的value值。变量,事件等等统一写在setup里面,并且返回出来。

 

2. dropdown-item组件

 

<template>
  <li :class="{'is-disabled': disabled}">
    <slot></slot>
  </li>
</template>
<script>
import {defineComponent} from 'vue'
export default defineComponent({
  name: "DropdownItem",
  props: {
    disabled: {
      type: Boolean,
      default: false
    }
  }
})
</script>
<style scoped>
  .is-disabled {
    color: gray;
    pointer-events: none;
   
  }
</style>

 

以上就是在线直播源码,开发一个下拉菜单组件, 更多内容欢迎关注之后的文章