Vue3使用icon组件不生效的问题(close-outlined)
首先确保项目中已经安装了ant-design-vue:
npm install ant-design-vue@next --save # 注意使用@next来安装Vue 3兼容的版本
# 或者
yarn add ant-design-vue@next
在Vue组件中引入并使用图标:(单独导入)
<template>
<div class="overlay-table-close-btn" @click="toggleTable(index)">
<close-outlined />
</div>
</template>
<script lang="ts">
import { defineComponent } from 'vue';
import { CloseOutlined } from '@ant-design/icons-vue';
export default defineComponent({
components: {
CloseOutlined, // 将CloseOutlined注册为局部组件
},
props: {
index: {
type: Number,
required: true,
},
},
methods: {
toggleTable(index: number) {
// 你的逻辑代码
console.log('Toggle table for index:', index);
},
},
});
</script>
<style scoped>
.overlay-table-close-btn {
cursor: pointer;
/* 你的其他样式 */
}
</style>
最后结果分析是没有将CloseOutlined注册为局部组件。