36 lines
593 B
Vue

<script lang="ts" setup>
import { Expand, Fold } from "@element-plus/icons-vue"
interface Props {
isActive?: boolean
}
const props = withDefaults(defineProps<Props>(), {
isActive: false
})
/** Vue 3.3+ defineEmits 语法 */
const emit = defineEmits<{
toggleClick: []
}>()
const toggleClick = () => {
emit("toggleClick")
}
</script>
<template>
<div @click="toggleClick">
<el-icon :size="20" class="icon">
<Fold v-if="props.isActive" />
<Expand v-else />
</el-icon>
</div>
</template>
<style lang="scss" scoped>
.icon {
vertical-align: middle;
}
</style>