Blame view

frontend/front/src/views/app/center/index.vue 1.07 KB
8ea9c133   陈威   初始化提交
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<template>
  <el-popover
    v-model="visible"
    popper-class="app-popover"
    :placement="placement"
    width="1268"
    trigger="manual"
    @after-enter="loadAppData"
  >
    <app-selector
      ref="appSelector"
      :open-type="openType"
      :show-close="true"
      @after-select="afterSelect"
      @close="visible = false"
    />
    <span slot="reference" @click="visible = true">
      <slot name="default"></slot>
    </span>
  </el-popover>
</template>

<script>
  import AppSelector from './AppSelector.vue'
  export default {
    name: 'Index',
    components: { AppSelector },
    props: {
      placement: {
        type: String,
        default: 'bottom-start',
      },
      openType: {
        type: String,
        default: 'window',
      },
    },
    data() {
      return {
        visible: false,
      }
    },
    methods: {
      loadAppData() {
        this.$refs.appSelector.loadAppData()
      },
      afterSelect() {
        this.visible = false
      },
    },
  }
</script>

<style lang="scss">
  .app-popover {
    padding: 0 !important;
  }
</style>