feat: 新增自定义svg组件
parent
dab5968681
commit
d9fe506c43
@ -0,0 +1,5 @@
|
||||
<svg class="icon" viewBox="0 0 1024 1024" version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200">
|
||||
<text x="250" y="700" font-family="Microsoft YaHei" font-size="505" >文</text>
|
||||
</svg>
|
After Width: | Height: | Size: 258 B |
@ -0,0 +1,32 @@
|
||||
<!-- eslint-disable vue/html-indent -->
|
||||
<template>
|
||||
<text
|
||||
x="50"
|
||||
y="55"
|
||||
:font-family="props.fontFamily"
|
||||
:font-size="props.fontSize"
|
||||
:fill="props.fill"
|
||||
>{{ props.text }}</text
|
||||
>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
// 文字的内容决定了长度 所以没办法预先定义中心点 导致连线有偏移
|
||||
const props = defineProps({
|
||||
fontFamily: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
fontSize: {
|
||||
type: Number,
|
||||
default: 15
|
||||
},
|
||||
text: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
fill: {
|
||||
type: String,
|
||||
default: ''
|
||||
}
|
||||
});
|
||||
</script>
|
@ -0,0 +1,45 @@
|
||||
import { EConfigItemPropsType, EDoneJsonType, IConfigItem } from '@/config-center/types';
|
||||
|
||||
export const custom_svg_text: IConfigItem = {
|
||||
name: 'custom-svg-text',
|
||||
title: '文字',
|
||||
tag: 'custom-svg-text',
|
||||
type: EDoneJsonType.CustomSvg,
|
||||
config: {
|
||||
can_zoom: true,
|
||||
have_anchor: true,
|
||||
actual_rect: true
|
||||
},
|
||||
props: {
|
||||
text: {
|
||||
title: '文字内容',
|
||||
type: EConfigItemPropsType.Input,
|
||||
val: '文字'
|
||||
},
|
||||
fontFamily: {
|
||||
title: '字体',
|
||||
type: EConfigItemPropsType.Select,
|
||||
val: 'Microsoft YaHei',
|
||||
options: [
|
||||
{
|
||||
value: 'Microsoft YaHei',
|
||||
label: '微软雅黑'
|
||||
},
|
||||
{
|
||||
value: 'NSimSun',
|
||||
label: '新宋体'
|
||||
}
|
||||
]
|
||||
},
|
||||
fontSize: {
|
||||
title: '文字大小',
|
||||
type: EConfigItemPropsType.InputNumber,
|
||||
val: 15
|
||||
},
|
||||
fill: {
|
||||
title: '文字颜色',
|
||||
type: EConfigItemPropsType.Color,
|
||||
val: '#FFF200FF'
|
||||
}
|
||||
}
|
||||
};
|
@ -0,0 +1,8 @@
|
||||
import { IConfigComponentGroup } from '../types';
|
||||
import { custom_svg_text } from './custom-svg-text';
|
||||
|
||||
export const custom_svg_group: IConfigComponentGroup = {
|
||||
groupType: 'custom_svg_group',
|
||||
title: '自定义svg',
|
||||
list: [custom_svg_text]
|
||||
};
|
@ -1,9 +1,12 @@
|
||||
import { svgfile_config_center } from './svg-file';
|
||||
import { IConfigCenter } from './types';
|
||||
|
||||
import { IComponentImport, IConfigCenter } from './types';
|
||||
import customSvgText from '@/components/webtopo-svgedit/components/custom-svg/custom-svg-text/index.vue';
|
||||
export const configCenter: IConfigCenter = {
|
||||
svg文件: svgfile_config_center,
|
||||
vue组件: [],
|
||||
自定义组件: [],
|
||||
图表: []
|
||||
};
|
||||
export const ComponentImport: IComponentImport = {
|
||||
'custom-svg-text': customSvgText
|
||||
};
|
||||
|
Loading…
Reference in New Issue