57 lines
1.0 KiB
Vue
57 lines
1.0 KiB
Vue
<template>
|
|
<!--本地 icon 资源, uniapp 打包到 app 仅支持标签 image, 打包小程序和 H5 均可支持标签 img -->
|
|
<div class="common-icon-container">
|
|
<image
|
|
v-if="isApp"
|
|
class="common-icon"
|
|
:src="props.src"
|
|
:style="{ width: props.width, height: props.height }"
|
|
/>
|
|
<img
|
|
v-else
|
|
class="common-icon"
|
|
:src="props.src"
|
|
:style="{ width: props.width, height: props.height }"
|
|
>
|
|
</div>
|
|
</template>
|
|
<script lang="ts">
|
|
import { isApp } from '../utils/env';
|
|
|
|
interface Props {
|
|
src: string;
|
|
width?: string;
|
|
height?: string;
|
|
}
|
|
|
|
export default {
|
|
props: {
|
|
src: {
|
|
type: String,
|
|
default: '',
|
|
},
|
|
width: {
|
|
type: String,
|
|
default: '16px',
|
|
},
|
|
height: {
|
|
type: String,
|
|
default: '16px',
|
|
},
|
|
},
|
|
setup(props: Props) {
|
|
return {
|
|
props,
|
|
isApp,
|
|
};
|
|
},
|
|
};
|
|
</script>
|
|
<style lang="scss" scoped>
|
|
.common-icon-container {
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
}
|
|
</style>
|