主题
组件的二次封装
示例
👉 在线体验
vue
<script setup lang="ts">
import { ref } from 'vue'
import MyInput from './MyInput.vue'
const value = ref('')
</script>
<template>
<div>{{ value }}</div>
<MyInput v-model="value">
<template #prefix>prefix</template>
<template #suffix>suffix</template>
<template #prepend>prepend</template>
<template #append>append</template>
</MyInput>
</template>
vue
<script setup lang="ts">
defineOptions({
inheritAttrs: false,
})
</script>
<template>
<el-input v-bind="$attrs">
<template v-for="(_, name) in $slots" #[name]>
<slot :name="name"></slot>
</template>
</el-input>
</template>
总结:
- 善于使用属性透传(attrs)
- 善用插槽(slots)