uni-app自定义的组件不行吗 比如图标

发布于 1周前 作者 nodeper 来自 Uni-App

uni-app自定义的组件不行吗 比如图标

截图时没有绘制
1 回复

在uni-app中,自定义组件是完全可行的,并且非常灵活,可以用来创建各种UI元素,包括图标。如果你发现自定义的组件(例如图标)没有按预期工作,可能是因为某些实现细节上的问题。下面是一个创建和使用自定义图标组件的示例,帮助你排查和解决问题。

1. 创建自定义图标组件

首先,创建一个名为MyIcon.vue的自定义组件文件。

<template>
  <view class="icon">
    <!-- 使用内联SVG或者图片作为图标 -->
    <svg viewBox="0 0 24 24" fill="currentColor" class="svg-icon">
      <path d="M12 2L3 9h9V2zm0 18l9-7h-9v7zm-9-9h18v2H3z"/>
    </svg>
  </view>
</template>

<script>
export default {
  name: 'MyIcon',
  props: {
    color: {
      type: String,
      default: '#000'
    },
    size: {
      type: [Number, String],
      default: '24px'
    }
  }
}
</script>

<style scoped>
.icon {
  width: 100%;
  height: 100%;
}

.svg-icon {
  width: 100%;
  height: 100%;
  fill: currentColor;
}
</style>

2. 使用自定义图标组件

在你的页面或其他组件中引入并使用MyIcon组件。

<template>
  <view>
    <my-icon color="red" size="48px"></my-icon>
    <my-icon color="blue" size="32px"></my-icon>
  </view>
</template>

<script>
import MyIcon from '@/components/MyIcon.vue';

export default {
  components: {
    MyIcon
  }
}
</script>

<style>
/* 样式可以根据需要调整 */
</style>

3. 检查常见问题

  • 路径问题:确保MyIcon.vue的路径正确无误。
  • 样式覆盖:检查是否有全局样式覆盖了自定义组件的样式。
  • 属性传递:确保在父组件中正确传递了所需的props(如colorsize)。
  • 控制台错误:查看浏览器的开发者工具控制台,是否有报错信息,比如组件未找到、属性类型错误等。

通过上述步骤,你应该能够成功创建并使用自定义图标组件。如果仍然遇到问题,请检查代码中的细节或提供更详细的错误信息以便进一步排查。

回到顶部