正在显示
4 个修改的文件
包含
42 行增加
和
0 行删除
ruoyi-ui/src/assets/icons/svg/button.svg
0 → 100644
| 1 | +<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1588670460195" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1314" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M230.4 307.712c13.824 0 25.088-11.264 25.088-25.088 0-100.352 81.92-182.272 182.272-182.272s182.272 81.408 182.272 182.272c0 13.824 11.264 25.088 25.088 25.088s25.088-11.264 24.576-25.088c0-127.488-103.936-231.936-231.936-231.936S205.824 154.624 205.824 282.624c-0.512 14.336 10.752 25.088 24.576 25.088z m564.736 234.496c-11.264 0-21.504 2.048-31.232 6.144 0-44.544-40.448-81.92-88.064-81.92-14.848 0-28.16 3.584-39.936 10.24-13.824-28.16-44.544-48.128-78.848-48.128-12.288 0-24.576 2.56-35.328 7.68V284.16c0-45.568-37.888-81.92-84.48-81.92s-84.48 36.864-84.48 81.92v348.672l-69.12-112.64c-18.432-28.16-58.368-36.864-91.136-19.968-26.624 14.336-46.592 47.104-30.208 88.064 3.072 8.192 76.8 205.312 171.52 311.296 0 0 28.16 24.576 43.008 58.88 4.096 9.728 13.312 15.36 22.528 15.36 3.072 0 6.656-0.512 9.728-2.048 12.288-5.12 18.432-19.968 12.8-32.256-19.456-44.544-53.76-74.752-53.76-74.752C281.6 768 209.408 573.44 208.384 570.88c-5.12-12.8-2.56-20.992 7.168-26.112 9.216-4.608 21.504-4.608 26.112 2.56l113.152 184.32c4.096 8.704 12.8 14.336 22.528 14.336 13.824 0 25.088-10.752 25.088-25.088V284.16c0-17.92 15.36-32.256 34.816-32.256s34.816 14.336 34.816 32.256v284.16c0 13.824 10.24 25.088 24.576 25.088 13.824 0 25.088-11.264 25.088-25.088v-57.344c0-17.92 15.36-32.768 34.816-32.768 19.968 0 37.376 15.36 37.376 32.768v95.232c0 7.168 3.072 13.312 7.68 17.92 4.608 4.608 10.752 7.168 17.92 7.168 13.824 0 24.576-11.264 24.576-25.088V547.84c0-18.432 13.824-32.256 32.256-32.256 20.48 0 38.912 15.36 38.912 32.256v95.232c0 13.824 11.264 25.088 25.088 25.088s24.576-11.264 25.088-25.088v-18.944c0-18.944 12.8-32.256 30.72-32.256 18.432 0 22.528 18.944 22.528 31.744 0 1.024-11.776 99.84-50.688 173.056-30.72 58.368-45.056 112.128-51.2 146.944-2.56 13.312 6.656 26.112 19.968 28.672 1.536 0 3.072 0.512 4.608 0.512 11.776 0 22.016-8.192 24.064-20.48 5.632-31.232 18.432-79.36 46.08-132.608 43.52-81.92 55.808-186.88 56.32-193.536-0.512-50.688-29.696-83.968-72.704-83.968z"></path></path></svg> |
| @@ -406,6 +406,21 @@ export const layoutComponents = [ | @@ -406,6 +406,21 @@ export const layoutComponents = [ | ||
| 406 | layoutTree: true, | 406 | layoutTree: true, |
| 407 | children: [], | 407 | children: [], |
| 408 | document: 'https://element.eleme.cn/#/zh-CN/component/layout' | 408 | document: 'https://element.eleme.cn/#/zh-CN/component/layout' |
| 409 | + }, | ||
| 410 | + { | ||
| 411 | + layout: 'colFormItem', | ||
| 412 | + label: '按钮', | ||
| 413 | + changeTag: true, | ||
| 414 | + labelWidth: null, | ||
| 415 | + tag: 'el-button', | ||
| 416 | + tagIcon: 'button', | ||
| 417 | + span: 24, | ||
| 418 | + default: '主要按钮', | ||
| 419 | + type: 'primary', | ||
| 420 | + icon: 'el-icon-search', | ||
| 421 | + size: 'medium', | ||
| 422 | + disabled: false, | ||
| 423 | + document: 'https://element.eleme.cn/#/zh-CN/component/button' | ||
| 409 | } | 424 | } |
| 410 | ] | 425 | ] |
| 411 | 426 |
| @@ -107,6 +107,18 @@ const layouts = { | @@ -107,6 +107,18 @@ const layouts = { | ||
| 107 | } | 107 | } |
| 108 | 108 | ||
| 109 | const tags = { | 109 | const tags = { |
| 110 | + 'el-button': el => { | ||
| 111 | + const { | ||
| 112 | + tag, disabled | ||
| 113 | + } = attrBuilder(el) | ||
| 114 | + const type = el.type ? `type="${el.type}"` : '' | ||
| 115 | + const icon = el.icon ? `icon="${el.icon}"` : '' | ||
| 116 | + const size = el.size ? `size="${el.size}"` : '' | ||
| 117 | + let child = buildElButtonChild(el) | ||
| 118 | + | ||
| 119 | + if (child) child = `\n${child}\n` // 换行 | ||
| 120 | + return `<${el.tag} ${type} ${icon} ${size} ${disabled}>${child}</${el.tag}>` | ||
| 121 | + }, | ||
| 110 | 'el-input': el => { | 122 | 'el-input': el => { |
| 111 | const { | 123 | const { |
| 112 | disabled, vModel, clearable, placeholder, width | 124 | disabled, vModel, clearable, placeholder, width |
| @@ -272,6 +284,15 @@ function attrBuilder(el) { | @@ -272,6 +284,15 @@ function attrBuilder(el) { | ||
| 272 | } | 284 | } |
| 273 | } | 285 | } |
| 274 | 286 | ||
| 287 | +// el-buttin 子级 | ||
| 288 | +function buildElButtonChild(conf) { | ||
| 289 | + const children = [] | ||
| 290 | + if (conf.default) { | ||
| 291 | + children.push(conf.default) | ||
| 292 | + } | ||
| 293 | + return children.join('\n') | ||
| 294 | +} | ||
| 295 | + | ||
| 275 | // el-input innerHTML | 296 | // el-input innerHTML |
| 276 | function buildElInputChild(conf) { | 297 | function buildElInputChild(conf) { |
| 277 | const children = [] | 298 | const children = [] |
| @@ -26,6 +26,11 @@ function vModel(self, dataObject, defaultValue) { | @@ -26,6 +26,11 @@ function vModel(self, dataObject, defaultValue) { | ||
| 26 | } | 26 | } |
| 27 | 27 | ||
| 28 | const componentChild = { | 28 | const componentChild = { |
| 29 | + 'el-button': { | ||
| 30 | + default(h, conf, key) { | ||
| 31 | + return conf[key] | ||
| 32 | + }, | ||
| 33 | + }, | ||
| 29 | 'el-input': { | 34 | 'el-input': { |
| 30 | prepend(h, conf, key) { | 35 | prepend(h, conf, key) { |
| 31 | return <template slot="prepend">{conf[key]}</template> | 36 | return <template slot="prepend">{conf[key]}</template> |
-
请 注册 或 登录 后发表评论