| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 | 
							- <template>
 
- 	<!-- #ifdef APP-NVUE -->
 
- 	<text :style="{ color: color, 'font-size': iconSize }" class="uni-icons" @click="_onClick">{{unicode}}</text>
 
- 	<!-- #endif -->
 
- 	<!-- #ifndef APP-NVUE -->
 
- 	<text :style="{ color: color, 'font-size': iconSize }" class="uni-icons" :class="['uniui-'+type,customPrefix,customPrefix?type:'']" @click="_onClick"></text>
 
- 	<!-- #endif -->
 
- </template>
 
- <script>
 
- 	import icons from './icons.js';
 
- 	const getVal = (val) => {
 
- 		const reg = /^[0-9]*$/g
 
- 		return (typeof val === 'number' || reg.test(val) )? val + 'px' : val;
 
- 	} 
 
- 	// #ifdef APP-NVUE
 
- 	var domModule = weex.requireModule('dom');
 
- 	import iconUrl from './uniicons.ttf'
 
- 	domModule.addRule('fontFace', {
 
- 		'fontFamily': "uniicons",
 
- 		'src': "url('"+iconUrl+"')"
 
- 	});
 
- 	// #endif
 
- 	/**
 
- 	 * Icons 图标
 
- 	 * @description 用于展示 icons 图标
 
- 	 * @tutorial https://ext.dcloud.net.cn/plugin?id=28
 
- 	 * @property {Number} size 图标大小
 
- 	 * @property {String} type 图标图案,参考示例
 
- 	 * @property {String} color 图标颜色
 
- 	 * @property {String} customPrefix 自定义图标
 
- 	 * @event {Function} click 点击 Icon 触发事件
 
- 	 */
 
- 	export default {
 
- 		name: 'UniIcons',
 
- 		emits:['click'],
 
- 		props: {
 
- 			type: {
 
- 				type: String,
 
- 				default: ''
 
- 			},
 
- 			color: {
 
- 				type: String,
 
- 				default: '#333333'
 
- 			},
 
- 			size: {
 
- 				type: [Number, String],
 
- 				default: 16
 
- 			},
 
- 			customPrefix:{
 
- 				type: String,
 
- 				default: ''
 
- 			}
 
- 		},
 
- 		data() {
 
- 			return {
 
- 				icons: icons.glyphs
 
- 			}
 
- 		},
 
- 		computed:{
 
- 			unicode(){
 
- 				let code = this.icons.find(v=>v.font_class === this.type)
 
- 				if(code){
 
- 					return unescape(`%u${code.unicode}`)
 
- 				}
 
- 				return ''
 
- 			},
 
- 			iconSize(){
 
- 				return getVal(this.size)
 
- 			}
 
- 		},
 
- 		methods: {
 
- 			_onClick() {
 
- 				this.$emit('click')
 
- 			}
 
- 		}
 
- 	}
 
- </script>
 
- <style lang="scss">
 
- 	/* #ifndef APP-NVUE */
 
- 	@import './uniicons.css';
 
- 	@font-face {
 
- 		font-family: uniicons;
 
- 		src: url('./uniicons.ttf') format('truetype');
 
- 	}
 
- 	/* #endif */
 
- 	.uni-icons {
 
- 		font-family: uniicons;
 
- 		text-decoration: none;
 
- 		text-align: center;
 
- 	}
 
- </style>
 
 
  |