赞
踩
1.首先我们去Iconfont中找到自己需要的图标,并添加到到自己的项目中
2.在项目中,选择Symbol,然后生成代码,注意代码是一个JS文件
export default function createIconfont(options) {
let scriptUrlList = options.scriptUrl;
for (let scriptUrl of scriptUrlList) {
typeof window !== 'undefined' &&
typeof document.createElement === 'function' &&
typeof scriptUrl === 'string' &&
let script = document.createElement('script');
script.setAttribute('src', scriptUrl);
script.setAttribute('data-namespace', scriptUrl);
document.body.appendChild(script);
const iconClass = function(className) {
if (Array.isArray(className)) {
render: function(h, context) {
listeners = context.listeners,
class: iconClass(props.className),
// 第二步生成js之前需要将图标前缀去掉,Iconfont默认图标`icon-`
// 如果没有去掉,需要修改为[h('use', { attrs: { 'xlink:href': `#${icon-}` + props.type } })]
[h('use', { attrs: { 'xlink:href': '#' + props.type } })]
import createIconfont from './createIconfont';
import { getHost } from '@/utils/common';
const IconCite = createIconfont({
scriptUrl: getHost('VUE_APP_ICON_URL')
Vue.component('icon', IconCite);
<icon :type="modelForm.modelIcon" class-name="svgIcon" />
<Drawer :title="slider.title" :visible.sync="slider.isShow" :width="slider.width" @close="handleSliderCancel">
@closeDrawer="handleSliderCancel"
功能和模板写法一致,但是可扩展性更高(比如可以使用自定义图标等等)
组件位置: @/components/page/components/IMenu.js
defaultActive: this.defaultActive,
defaultOpeneds: this.defaultOpeneds,
backgroundColor: this.$props.backgroundColor,
textColor: this.$props.textColor,
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。