gis-web-ui 组件
gis-web-ui 组件是基于vue2.0 开发的组件,可以通过配置快速搭建可拖动UI 面板,支持导入自定义svg 图标,支持扩展组件库
1. 安装
# 安装
yarn add gis-web-ui
2. 引入
import 'gis-web-ui/dist/style.css'
import { GisWebUi } from 'gis-web-ui'
// 注册全局组件
Vue.use(GisWebUi)
// 挂载全局变量
Vue.prototype.$Panel = GisWebUi.GisDialog
Vue.prototype.$Bus = GisWebUi.Bus
Vue.prototype.$Event = GisWebUi.Event
3. 使用
<gis-dialog-list />
initPanel() {
const panelData = [
{
title: '工具栏',
name: 'GisFeature',
data: {},
conf: {
type: 'tp1'
},
show: true,
style: {
width: 400,
height: 280,
top: 0,
left: 0,
margin: '0px',
border: 'none',
borderRadius: 0,
background: '#0e0e1499'
},
drag: {
enabled: true
}
}
]
this.$Panel.createFromJson(panelData)
}
4. 图标
1、创建文件夹
# 创建文件夹
mkdir -p src/assets/icons/svg
2、创建文件
# 创建文件
# touch src/assets/icons/svgo.yml
touch src/assets/icons/index.js
3、文件内容
// src/assets/icons/svgo.yml
// src/assets/icons/index.js
(context => context.keys().map(context))(require.context('@/assets/icons/svg', false, /\.svg$/))
4、注册
// main.js
import '@/assets/icons/index.js'
5、配置
# 安装 svg-sprite-loader
npm install svg-sprite-loader -D
// vue.config.js
chainWebpack: (config) => {
config.module.rule('svg').exclude.add(resolve('src/assets/icons')).end()
config.module
.rule('icons')
.test(/\.svg$/)
.include.add(resolve('src/assets/icons'))
.end()
.use('svg-sprite-loader')
.loader('svg-sprite-loader')
.options({
symbolId: 'icon-[name]'
})
.end()
}