Commit b982753a48e899f09d92b6a7ea367e0e9ba68857
Committed by
小小鲁班
1 parent
25ac0f18
chore: upgrade common props to use select type
Showing
4 changed files
with
29 additions
and
122 deletions
front-end/h5/package.json
| @@ -17,7 +17,7 @@ | @@ -17,7 +17,7 @@ | ||
| 17 | "@luban-h5/lbc-button": "^0.0.3", | 17 | "@luban-h5/lbc-button": "^0.0.3", |
| 18 | "@luban-h5/lbp-slide": "^0.0.7", | 18 | "@luban-h5/lbp-slide": "^0.0.7", |
| 19 | "@luban-h5/lbs-text-align": "^0.0.3", | 19 | "@luban-h5/lbs-text-align": "^0.0.3", |
| 20 | - "@luban-h5/plugin-common-props": "^0.1.6", | 20 | + "@luban-h5/plugin-common-props": "^0.2.6", |
| 21 | "animate.css": "^3.7.2", | 21 | "animate.css": "^3.7.2", |
| 22 | "ant-design-vue": "^1.3.14", | 22 | "ant-design-vue": "^1.3.14", |
| 23 | "core-js": "^2.6.5", | 23 | "core-js": "^2.6.5", |
front-end/h5/src/components/plugins/lbp-form-button.js
| @@ -73,53 +73,4 @@ export default { | @@ -73,53 +73,4 @@ export default { | ||
| 73 | req.send(formData) | 73 | req.send(formData) |
| 74 | } | 74 | } |
| 75 | }, | 75 | }, |
| 76 | - componentsForPropsEditor: { | ||
| 77 | - 'lbs-select-input-type': { | ||
| 78 | - props: ['value'], | ||
| 79 | - computed: { | ||
| 80 | - value_: { | ||
| 81 | - get () { | ||
| 82 | - return this.value | ||
| 83 | - }, | ||
| 84 | - set (val) { | ||
| 85 | - this.$emit('input', val) | ||
| 86 | - } | ||
| 87 | - } | ||
| 88 | - }, | ||
| 89 | - template: ` | ||
| 90 | - <a-select v-model="value_" placeholder="类型"> | ||
| 91 | - <a-option | ||
| 92 | - v-for="item in options" | ||
| 93 | - :key="item.value" | ||
| 94 | - :label="item.label" | ||
| 95 | - :value="item.value"> | ||
| 96 | - </a-option> | ||
| 97 | - </a-select> | ||
| 98 | - `, | ||
| 99 | - data: () => ({ | ||
| 100 | - options: [ | ||
| 101 | - { | ||
| 102 | - label: '文字', | ||
| 103 | - value: 'text' | ||
| 104 | - }, | ||
| 105 | - { | ||
| 106 | - label: '密码', | ||
| 107 | - value: 'password' | ||
| 108 | - }, | ||
| 109 | - { | ||
| 110 | - label: '日期', | ||
| 111 | - value: 'date' | ||
| 112 | - }, | ||
| 113 | - { | ||
| 114 | - label: '邮箱', | ||
| 115 | - value: 'email' | ||
| 116 | - }, | ||
| 117 | - { | ||
| 118 | - label: '手机号', | ||
| 119 | - value: 'tel' | ||
| 120 | - } | ||
| 121 | - ] | ||
| 122 | - }) | ||
| 123 | - } | ||
| 124 | - } | ||
| 125 | } | 76 | } |
front-end/h5/src/components/plugins/lbp-form-input.js
| 1 | // https://github.com/luban-h5-components/plugin-common-props | 1 | // https://github.com/luban-h5-components/plugin-common-props |
| 2 | import PropTypes from '@luban-h5/plugin-common-props' | 2 | import PropTypes from '@luban-h5/plugin-common-props' |
| 3 | 3 | ||
| 4 | +const typeOptions = [ | ||
| 5 | + { | ||
| 6 | + label: '文字', | ||
| 7 | + value: 'text' | ||
| 8 | + }, | ||
| 9 | + { | ||
| 10 | + label: '密码', | ||
| 11 | + value: 'password' | ||
| 12 | + }, | ||
| 13 | + { | ||
| 14 | + label: '日期', | ||
| 15 | + value: 'date' | ||
| 16 | + }, | ||
| 17 | + { | ||
| 18 | + label: '邮箱', | ||
| 19 | + value: 'email' | ||
| 20 | + }, | ||
| 21 | + { | ||
| 22 | + label: '手机号', | ||
| 23 | + value: 'tel' | ||
| 24 | + } | ||
| 25 | +] | ||
| 26 | + | ||
| 4 | export default { | 27 | export default { |
| 5 | name: 'lbp-form-input', | 28 | name: 'lbp-form-input', |
| 6 | render (h) { | 29 | render (h) { |
| @@ -26,14 +49,7 @@ export default { | @@ -26,14 +49,7 @@ export default { | ||
| 26 | /> | 49 | /> |
| 27 | }, | 50 | }, |
| 28 | props: { | 51 | props: { |
| 29 | - type: { | ||
| 30 | - type: String, | ||
| 31 | - default: 'text', | ||
| 32 | - editor: { | ||
| 33 | - type: 'lbs-select-input-type', | ||
| 34 | - label: '类型' | ||
| 35 | - } | ||
| 36 | - }, | 52 | + type: PropTypes.select({ defaultValue: 'text', label: '类型', options: typeOptions }), |
| 37 | name: PropTypes.string({ defaultValue: 'name', label: 'name' }), | 53 | name: PropTypes.string({ defaultValue: 'name', label: 'name' }), |
| 38 | disabled: PropTypes.boolean({ label: 'disabled' }), | 54 | disabled: PropTypes.boolean({ label: 'disabled' }), |
| 39 | fontSize: PropTypes.number({ label: '字号(px)' }), | 55 | fontSize: PropTypes.number({ label: '字号(px)' }), |
| @@ -47,66 +63,6 @@ export default { | @@ -47,66 +63,6 @@ export default { | ||
| 47 | vertical: PropTypes.boolean(), | 63 | vertical: PropTypes.boolean(), |
| 48 | lineHeight: PropTypes.number({ label: '行高(px)', defaultValue: 1 }) | 64 | lineHeight: PropTypes.number({ label: '行高(px)', defaultValue: 1 }) |
| 49 | }, | 65 | }, |
| 50 | - componentsForPropsEditor: { | ||
| 51 | - 'lbs-select-input-type': { | ||
| 52 | - props: ['value'], | ||
| 53 | - computed: { | ||
| 54 | - value_: { | ||
| 55 | - get () { | ||
| 56 | - return this.value | ||
| 57 | - }, | ||
| 58 | - set (val) { | ||
| 59 | - this.$emit('input', val) | ||
| 60 | - } | ||
| 61 | - } | ||
| 62 | - }, | ||
| 63 | - render (h) { | ||
| 64 | - return ( | ||
| 65 | - <a-select | ||
| 66 | - placeholder="类型" | ||
| 67 | - value={this.value} | ||
| 68 | - onChange={(value) => { | ||
| 69 | - this.$emit('input', value) | ||
| 70 | - this.$emit('change', value) | ||
| 71 | - }} | ||
| 72 | - > | ||
| 73 | - { | ||
| 74 | - this.options.map(option => ( | ||
| 75 | - <a-select-option | ||
| 76 | - key={option.value} | ||
| 77 | - value={option.value} | ||
| 78 | - >{option.label}</a-select-option> | ||
| 79 | - )) | ||
| 80 | - } | ||
| 81 | - </a-select> | ||
| 82 | - ) | ||
| 83 | - }, | ||
| 84 | - data: () => ({ | ||
| 85 | - options: [ | ||
| 86 | - { | ||
| 87 | - label: '文字', | ||
| 88 | - value: 'text' | ||
| 89 | - }, | ||
| 90 | - { | ||
| 91 | - label: '密码', | ||
| 92 | - value: 'password' | ||
| 93 | - }, | ||
| 94 | - { | ||
| 95 | - label: '日期', | ||
| 96 | - value: 'date' | ||
| 97 | - }, | ||
| 98 | - { | ||
| 99 | - label: '邮箱', | ||
| 100 | - value: 'email' | ||
| 101 | - }, | ||
| 102 | - { | ||
| 103 | - label: '手机号', | ||
| 104 | - value: 'tel' | ||
| 105 | - } | ||
| 106 | - ] | ||
| 107 | - }) | ||
| 108 | - } | ||
| 109 | - } | ||
| 110 | } | 66 | } |
| 111 | 67 | ||
| 112 | // .lb-plugin__input { | 68 | // .lb-plugin__input { |
front-end/h5/yarn.lock
| @@ -792,10 +792,10 @@ | @@ -792,10 +792,10 @@ | ||
| 792 | resolved "https://registry.yarnpkg.com/@luban-h5/plugin-common-props/-/plugin-common-props-0.0.1.tgz#10fe5d5b2dda1db64912b3b99779aec60b5ea956" | 792 | resolved "https://registry.yarnpkg.com/@luban-h5/plugin-common-props/-/plugin-common-props-0.0.1.tgz#10fe5d5b2dda1db64912b3b99779aec60b5ea956" |
| 793 | integrity sha512-D8UEBht2BCJt8YDHqcYj0hQmn3WM3QdX3Rw8eaZP02o0NeNe2oDPKE4mCM3eN9U1ygcrDf9bR48RB9YgHJRHGA== | 793 | integrity sha512-D8UEBht2BCJt8YDHqcYj0hQmn3WM3QdX3Rw8eaZP02o0NeNe2oDPKE4mCM3eN9U1ygcrDf9bR48RB9YgHJRHGA== |
| 794 | 794 | ||
| 795 | -"@luban-h5/plugin-common-props@^0.1.6": | ||
| 796 | - version "0.1.6" | ||
| 797 | - resolved "https://registry.npmjs.org/@luban-h5/plugin-common-props/-/plugin-common-props-0.1.6.tgz#b4d44dd139ac99c58274c909fb61ca6df9051aa4" | ||
| 798 | - integrity sha512-0+0yuLioozw+wx+3Ui9JYTIT7mKWVtKKrSZAe49ldfmhkA0zsv2phIkAVwqDDtsxuwO0t8a0fA05GwY6WRMjIA== | 795 | +"@luban-h5/plugin-common-props@^0.2.6": |
| 796 | + version "0.2.6" | ||
| 797 | + resolved "https://registry.npmjs.org/@luban-h5/plugin-common-props/-/plugin-common-props-0.2.6.tgz#a834f6564ef845238f14f449d0047f6b13a57adf" | ||
| 798 | + integrity sha512-MQ94psT35blUdOb9vX1AfJCNVfVfCz+7v1d0sgY+4rSesaEU12HnlDg8Aaqfq5ePs6IQUSOtRWRgWSS4u6cKhQ== | ||
| 799 | 799 | ||
| 800 | "@mrmlnc/readdir-enhanced@^2.2.1": | 800 | "@mrmlnc/readdir-enhanced@^2.2.1": |
| 801 | version "2.2.1" | 801 | version "2.2.1" |