index.vue 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. <template>
  2. <PageWrapper title="Icon组件示例">
  3. <CollapseContainer title="Antv Icon使用 (直接按需引入相应组件即可)">
  4. <div class="flex justify-around">
  5. <GithubFilled :style="{ fontSize: '30px' }" />
  6. <QqCircleFilled :style="{ fontSize: '30px' }" />
  7. <WechatFilled :style="{ fontSize: '30px' }" />
  8. <AlipayCircleFilled :style="{ fontSize: '30px' }" />
  9. <IeCircleFilled :style="{ fontSize: '30px' }" />
  10. <TaobaoCircleFilled :style="{ fontSize: '30px' }" />
  11. <CodepenCircleFilled :style="{ fontSize: '30px' }" />
  12. </div>
  13. </CollapseContainer>
  14. <CollapseContainer title="IconIfy 组件使用" class="my-5">
  15. <div class="flex justify-around flex-wrap">
  16. <Icon icon="ion:layers-outline" :size="30" />
  17. <Icon icon="ion:bar-chart-outline" :size="30" />
  18. <Icon icon="ion:tv-outline" :size="30" />
  19. <Icon icon="ion:settings-outline" :size="30" />
  20. </div>
  21. </CollapseContainer>
  22. <CollapseContainer title="svg 雪碧图" class="my-5">
  23. <div class="flex justify-around flex-wrap">
  24. <SvgIcon name="test" size="32" />
  25. <template v-for="item in 6" :key="item">
  26. <SvgIcon :name="`dynamic-avatar-${item}`" size="32" />
  27. </template>
  28. </div>
  29. </CollapseContainer>
  30. <CollapseContainer title="图标选择器(Iconify)" class="my-5">
  31. <div class="flex justify-around flex-wrap">
  32. <IconPicker />
  33. </div>
  34. </CollapseContainer>
  35. <CollapseContainer title="图标选择器(Svg)" class="my-5">
  36. <div class="flex justify-around flex-wrap">
  37. <IconPicker mode="svg" />
  38. </div>
  39. </CollapseContainer>
  40. <Alert
  41. show-icon
  42. message="推荐使用Iconify组件"
  43. description="Icon组件基本包含所有的图标,在下面网址内你可以查询到你想要的任何图标。并且打包只会打包所用到的图标。"
  44. />
  45. <a-button type="link" @click="toIconify"> Iconify 图标大全 </a-button>
  46. </PageWrapper>
  47. </template>
  48. <script lang="ts">
  49. import { defineComponent } from 'vue';
  50. import { CollapseContainer } from '/@/components/Container/index';
  51. import { Alert } from 'ant-design-vue';
  52. import {
  53. QqCircleFilled,
  54. GithubFilled,
  55. WechatFilled,
  56. AlipayCircleFilled,
  57. IeCircleFilled,
  58. TaobaoCircleFilled,
  59. CodepenCircleFilled,
  60. } from '@ant-design/icons-vue';
  61. import { IconPicker, SvgIcon } from '/@/components/Icon/index';
  62. import Icon from '/@/components/Icon/Icon.vue';
  63. import { openWindow } from '/@/utils';
  64. import { PageWrapper } from '/@/components/Page';
  65. export default defineComponent({
  66. components: {
  67. PageWrapper,
  68. CollapseContainer,
  69. GithubFilled,
  70. QqCircleFilled,
  71. WechatFilled,
  72. AlipayCircleFilled,
  73. IeCircleFilled,
  74. TaobaoCircleFilled,
  75. CodepenCircleFilled,
  76. Icon,
  77. Alert,
  78. IconPicker,
  79. SvgIcon,
  80. },
  81. setup() {
  82. return {
  83. toIconify: () => {
  84. openWindow('https://iconify.design/');
  85. },
  86. };
  87. },
  88. });
  89. </script>