web-component-gallery 0.1.29 → 0.1.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/form.umd.js CHANGED
@@ -6945,7 +6945,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ant_
6945
6945
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6946
6946
 
6947
6947
  "use strict";
6948
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/form-model/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/button/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/radio/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/input/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/input-number/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/checkbox/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/date-picker/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/time-picker/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/icon/index.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'Search',\n components: {\n FormModel: ant_design_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n FormModelItem: ant_design_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Item,\n Button: ant_design_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n Radio: ant_design_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n Input: ant_design_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n InputNumber: ant_design_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n Checkbox: ant_design_vue__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n DatePicker: ant_design_vue__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n TimePicker: ant_design_vue__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n ASelectCustom: () => Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./components/ASelectCustom.vue */ \"./plugins/lib/form/components/ASelectCustom.vue\")),\n Icon: ant_design_vue__WEBPACK_IMPORTED_MODULE_8__[\"default\"]\n },\n data() {\n return {\n // 是否收起\n advanced: false,\n matchMediaSize: 0\n };\n },\n model: {\n prop: 'value',\n event: 'change'\n },\n props: {\n /* 双向数据绑定Form */\n value: {\n type: Object,\n default: () => ({})\n },\n /* 配置表单项 */\n formSetting: {\n type: Array,\n default: () => []\n },\n /* 一行显示多少项 */\n layoutSize: {\n type: Number,\n default: 4,\n validator: value => {\n return value <= 5;\n }\n },\n // 紧凑型和宽松型\n // default 宽松型\n // middle 紧凑型\n searchStyle: {\n type: String,\n default: 'default'\n },\n /* 操作显示文字 */\n actionsText: {\n type: Object,\n default: () => ({\n primary: '搜索',\n cancel: '重置'\n })\n }\n },\n computed: {\n form: {\n get() {\n return this.value;\n },\n set(newValue) {\n this.$emit('change', newValue);\n }\n },\n matchMedia() {\n return {\n '(max-width: 576px)': 1,\n '(min-width: 576px) and (max-width: 992px)': this.layoutSize - 2,\n '(min-width: 992px)': this.layoutSize\n };\n },\n copyFormSetting() {\n return this.formSetting.filter(node => !node.hidden);\n },\n count() {\n return this.advanced ? this.copyFormSetting.length : this.matchMediaSize - 1;\n }\n },\n filters: {\n defaultPlaceholder(is, {\n placeholder\n }) {\n if (placeholder) return placeholder;\n if (is && is.includes('range')) return ['开始时间', '结束时间'];\n return /(select|picker|radio|upload)/.test(is) ? '请选择' : '请输入';\n }\n },\n mounted() {\n this.handleSearch();\n this.matchMediaSize = this.layoutSize;\n Object.keys(this.matchMedia).forEach(media => window.matchMedia(media).addEventListener('change', this.handleResize));\n },\n methods: {\n handleResize(x) {\n x.matches && (this.matchMediaSize = this.matchMedia[x.media]);\n },\n getFormWidth(e) {\n const gap = {\n middle: '16px',\n default: '24px'\n };\n return `flex: 0 1 calc((${100 / this.matchMediaSize * (e.size ?? 1)}% - ${gap[this.searchStyle]})); margin-right: ${gap[this.searchStyle]};`;\n },\n handleSearch(e) {\n e && e.preventDefault();\n const searchForm = {};\n // 排除掉form当中hidden的隐藏项\n this.copyFormSetting.forEach(node => this.$set(searchForm, node.model, this.form[node.model]));\n this.form = {\n ...searchForm\n };\n this.$emit('handleSearch', searchForm);\n },\n handleReset() {\n // 初步猜测是因这里的清空导致数据双向绑定得不到最新\n this.$refs.searchForm.resetFields();\n this.$emit('handleReset');\n }\n }\n});\n\n//# sourceURL=webpack://mui/./plugins/lib/form/Search.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options");
6948
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _resetFields__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./resetFields */ \"./plugins/lib/form/resetFields.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/form-model/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/button/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/radio/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/input/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/input-number/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/checkbox/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/date-picker/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/time-picker/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/icon/index.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'Search',\n components: {\n FormModel: ant_design_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n FormModelItem: ant_design_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Item,\n Button: ant_design_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n Radio: ant_design_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n Input: ant_design_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n InputNumber: ant_design_vue__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n Checkbox: ant_design_vue__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n DatePicker: ant_design_vue__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n TimePicker: ant_design_vue__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n ASelectCustom: () => Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./components/ASelectCustom.vue */ \"./plugins/lib/form/components/ASelectCustom.vue\")),\n Icon: ant_design_vue__WEBPACK_IMPORTED_MODULE_9__[\"default\"]\n },\n data() {\n return {\n // 是否收起\n advanced: false,\n matchMediaSize: 0\n };\n },\n model: {\n prop: 'value',\n event: 'change'\n },\n props: {\n /* 双向数据绑定Form */\n value: {\n type: Object,\n default: () => ({})\n },\n /* 配置表单项 */\n formSetting: {\n type: Array,\n default: () => []\n },\n /* 一行显示多少项 */\n layoutSize: {\n type: Number,\n default: 4,\n validator: value => {\n return value <= 5;\n }\n },\n // 紧凑型和宽松型\n // default 宽松型\n // middle 紧凑型\n searchStyle: {\n type: String,\n default: 'default'\n },\n /* 操作显示文字 */\n actionsText: {\n type: Object,\n default: () => ({\n primary: '搜索',\n cancel: '重置'\n })\n }\n },\n computed: {\n form: {\n get() {\n return this.value;\n },\n set(newValue) {\n this.$emit('change', newValue);\n }\n },\n matchMedia() {\n return {\n '(max-width: 576px)': 1,\n '(min-width: 576px) and (max-width: 992px)': this.layoutSize - 2,\n '(min-width: 992px)': this.layoutSize\n };\n },\n copyFormSetting() {\n return this.formSetting.filter(node => !node.hidden);\n },\n count() {\n return this.advanced ? this.copyFormSetting.length : this.matchMediaSize - 1;\n }\n },\n filters: {\n defaultPlaceholder(is, {\n placeholder\n }) {\n if (placeholder) return placeholder;\n if (is && is.includes('range')) return ['开始时间', '结束时间'];\n return /(select|picker|radio|upload)/.test(is) ? '请选择' : '请输入';\n }\n },\n mounted() {\n this.handleSearch();\n this.matchMediaSize = this.layoutSize;\n Object.keys(this.matchMedia).forEach(media => window.matchMedia(media).addEventListener('change', this.handleResize));\n },\n methods: {\n handleResize(x) {\n x.matches && (this.matchMediaSize = this.matchMedia[x.media]);\n },\n getFormWidth(e) {\n const gap = {\n middle: '16px',\n default: '24px'\n };\n return `flex: 0 1 calc((${100 / this.matchMediaSize * (e.size ?? 1)}% - ${gap[this.searchStyle]})); margin-right: ${gap[this.searchStyle]};`;\n },\n handleSearch(e) {\n e && e.preventDefault();\n const searchForm = {};\n // 排除掉form当中hidden的隐藏项\n this.copyFormSetting.forEach(node => this.$set(searchForm, node.model, this.form[node.model]));\n this.form = {\n ...searchForm\n };\n this.$emit('handleSearch', searchForm);\n },\n handleReset() {\n // 初步猜测是因这里的清空导致数据双向绑定得不到最新\n this.form = (0,_resetFields__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this.form);\n this.$refs.searchForm.clearValidate();\n this.$emit('handleReset');\n }\n }\n});\n\n//# sourceURL=webpack://mui/./plugins/lib/form/Search.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options");
6949
6949
 
6950
6950
  /***/ }),
6951
6951
 
@@ -7180,6 +7180,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
7180
7180
 
7181
7181
  /***/ }),
7182
7182
 
7183
+ /***/ "./plugins/lib/form/resetFields.js":
7184
+ /*!*****************************************!*\
7185
+ !*** ./plugins/lib/form/resetFields.js ***!
7186
+ \*****************************************/
7187
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
7188
+
7189
+ "use strict";
7190
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ resetFields: function() { return /* binding */ resetFields; }\n/* harmony export */ });\n/** 根据属性类型重置数据初始化 */\nfunction resetFields(formObj) {\n const initialForm = {};\n for (const key in formObj) {\n if (formObj[key] === null || typeof formObj[key] !== 'object') {\n initialForm[key] = '';\n } else if (Array.isArray(formObj[key])) {\n initialForm[key] = [];\n } else {\n initialForm[key] = {};\n }\n }\n return initialForm;\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (resetFields);\n\n//# sourceURL=webpack://mui/./plugins/lib/form/resetFields.js?");
7191
+
7192
+ /***/ }),
7193
+
7183
7194
  /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-2.use[2]!./plugins/lib/form/style/Model.less":
7184
7195
  /*!************************************************************************************************************************************************!*\
7185
7196
  !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-2.use[2]!./plugins/lib/form/style/Model.less ***!
package/dist/index.umd.js CHANGED
@@ -7911,7 +7911,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ant_
7911
7911
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
7912
7912
 
7913
7913
  "use strict";
7914
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/form-model/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/button/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/radio/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/input/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/input-number/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/checkbox/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/date-picker/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/time-picker/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/icon/index.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'Search',\n components: {\n FormModel: ant_design_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n FormModelItem: ant_design_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Item,\n Button: ant_design_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n Radio: ant_design_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n Input: ant_design_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n InputNumber: ant_design_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n Checkbox: ant_design_vue__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n DatePicker: ant_design_vue__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n TimePicker: ant_design_vue__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n ASelectCustom: () => Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./components/ASelectCustom.vue */ \"./plugins/lib/form/components/ASelectCustom.vue\")),\n Icon: ant_design_vue__WEBPACK_IMPORTED_MODULE_8__[\"default\"]\n },\n data() {\n return {\n // 是否收起\n advanced: false,\n matchMediaSize: 0\n };\n },\n model: {\n prop: 'value',\n event: 'change'\n },\n props: {\n /* 双向数据绑定Form */\n value: {\n type: Object,\n default: () => ({})\n },\n /* 配置表单项 */\n formSetting: {\n type: Array,\n default: () => []\n },\n /* 一行显示多少项 */\n layoutSize: {\n type: Number,\n default: 4,\n validator: value => {\n return value <= 5;\n }\n },\n // 紧凑型和宽松型\n // default 宽松型\n // middle 紧凑型\n searchStyle: {\n type: String,\n default: 'default'\n },\n /* 操作显示文字 */\n actionsText: {\n type: Object,\n default: () => ({\n primary: '搜索',\n cancel: '重置'\n })\n }\n },\n computed: {\n form: {\n get() {\n return this.value;\n },\n set(newValue) {\n this.$emit('change', newValue);\n }\n },\n matchMedia() {\n return {\n '(max-width: 576px)': 1,\n '(min-width: 576px) and (max-width: 992px)': this.layoutSize - 2,\n '(min-width: 992px)': this.layoutSize\n };\n },\n copyFormSetting() {\n return this.formSetting.filter(node => !node.hidden);\n },\n count() {\n return this.advanced ? this.copyFormSetting.length : this.matchMediaSize - 1;\n }\n },\n filters: {\n defaultPlaceholder(is, {\n placeholder\n }) {\n if (placeholder) return placeholder;\n if (is && is.includes('range')) return ['开始时间', '结束时间'];\n return /(select|picker|radio|upload)/.test(is) ? '请选择' : '请输入';\n }\n },\n mounted() {\n this.handleSearch();\n this.matchMediaSize = this.layoutSize;\n Object.keys(this.matchMedia).forEach(media => window.matchMedia(media).addEventListener('change', this.handleResize));\n },\n methods: {\n handleResize(x) {\n x.matches && (this.matchMediaSize = this.matchMedia[x.media]);\n },\n getFormWidth(e) {\n const gap = {\n middle: '16px',\n default: '24px'\n };\n return `flex: 0 1 calc((${100 / this.matchMediaSize * (e.size ?? 1)}% - ${gap[this.searchStyle]})); margin-right: ${gap[this.searchStyle]};`;\n },\n handleSearch(e) {\n e && e.preventDefault();\n const searchForm = {};\n // 排除掉form当中hidden的隐藏项\n this.copyFormSetting.forEach(node => this.$set(searchForm, node.model, this.form[node.model]));\n this.form = {\n ...searchForm\n };\n this.$emit('handleSearch', searchForm);\n },\n handleReset() {\n // 初步猜测是因这里的清空导致数据双向绑定得不到最新\n this.$refs.searchForm.resetFields();\n this.$emit('handleReset');\n }\n }\n});\n\n//# sourceURL=webpack://mui/./plugins/lib/form/Search.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options");
7914
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _resetFields__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./resetFields */ \"./plugins/lib/form/resetFields.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/form-model/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/button/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/radio/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/input/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/input-number/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/checkbox/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/date-picker/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/time-picker/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/icon/index.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'Search',\n components: {\n FormModel: ant_design_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n FormModelItem: ant_design_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Item,\n Button: ant_design_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n Radio: ant_design_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n Input: ant_design_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n InputNumber: ant_design_vue__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n Checkbox: ant_design_vue__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n DatePicker: ant_design_vue__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n TimePicker: ant_design_vue__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n ASelectCustom: () => Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./components/ASelectCustom.vue */ \"./plugins/lib/form/components/ASelectCustom.vue\")),\n Icon: ant_design_vue__WEBPACK_IMPORTED_MODULE_9__[\"default\"]\n },\n data() {\n return {\n // 是否收起\n advanced: false,\n matchMediaSize: 0\n };\n },\n model: {\n prop: 'value',\n event: 'change'\n },\n props: {\n /* 双向数据绑定Form */\n value: {\n type: Object,\n default: () => ({})\n },\n /* 配置表单项 */\n formSetting: {\n type: Array,\n default: () => []\n },\n /* 一行显示多少项 */\n layoutSize: {\n type: Number,\n default: 4,\n validator: value => {\n return value <= 5;\n }\n },\n // 紧凑型和宽松型\n // default 宽松型\n // middle 紧凑型\n searchStyle: {\n type: String,\n default: 'default'\n },\n /* 操作显示文字 */\n actionsText: {\n type: Object,\n default: () => ({\n primary: '搜索',\n cancel: '重置'\n })\n }\n },\n computed: {\n form: {\n get() {\n return this.value;\n },\n set(newValue) {\n this.$emit('change', newValue);\n }\n },\n matchMedia() {\n return {\n '(max-width: 576px)': 1,\n '(min-width: 576px) and (max-width: 992px)': this.layoutSize - 2,\n '(min-width: 992px)': this.layoutSize\n };\n },\n copyFormSetting() {\n return this.formSetting.filter(node => !node.hidden);\n },\n count() {\n return this.advanced ? this.copyFormSetting.length : this.matchMediaSize - 1;\n }\n },\n filters: {\n defaultPlaceholder(is, {\n placeholder\n }) {\n if (placeholder) return placeholder;\n if (is && is.includes('range')) return ['开始时间', '结束时间'];\n return /(select|picker|radio|upload)/.test(is) ? '请选择' : '请输入';\n }\n },\n mounted() {\n this.handleSearch();\n this.matchMediaSize = this.layoutSize;\n Object.keys(this.matchMedia).forEach(media => window.matchMedia(media).addEventListener('change', this.handleResize));\n },\n methods: {\n handleResize(x) {\n x.matches && (this.matchMediaSize = this.matchMedia[x.media]);\n },\n getFormWidth(e) {\n const gap = {\n middle: '16px',\n default: '24px'\n };\n return `flex: 0 1 calc((${100 / this.matchMediaSize * (e.size ?? 1)}% - ${gap[this.searchStyle]})); margin-right: ${gap[this.searchStyle]};`;\n },\n handleSearch(e) {\n e && e.preventDefault();\n const searchForm = {};\n // 排除掉form当中hidden的隐藏项\n this.copyFormSetting.forEach(node => this.$set(searchForm, node.model, this.form[node.model]));\n this.form = {\n ...searchForm\n };\n this.$emit('handleSearch', searchForm);\n },\n handleReset() {\n // 初步猜测是因这里的清空导致数据双向绑定得不到最新\n this.form = (0,_resetFields__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this.form);\n this.$refs.searchForm.clearValidate();\n this.$emit('handleReset');\n }\n }\n});\n\n//# sourceURL=webpack://mui/./plugins/lib/form/Search.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options");
7915
7915
 
7916
7916
  /***/ }),
7917
7917
 
@@ -8197,7 +8197,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
8197
8197
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
8198
8198
 
8199
8199
  "use strict";
8200
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; },\n/* harmony export */ staticRenderFns: function() { return /* binding */ staticRenderFns; }\n/* harmony export */ });\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c;\n return _c(\"div\", {\n staticClass: \"weather\"\n }, [_vm._t(\"weatherIcon\"), _vm._v(\" \"), _c(\"span\", {\n staticClass: \"weather__Info\"\n }, [_vm._v(_vm._s(_vm.weatherInfo.weather))]), _vm._v(\" \"), _c(\"span\", {\n staticClass: \"weather__Temp\"\n }, [_vm._v(\"温度\" + _vm._s(_vm.weatherInfo.temperature) + \"°\")])], 2);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack://mui/./plugins/lib/weather/index.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet%5B1%5D.rules%5B2%5D!./node_modules/vue-loader/lib/index.js??vue-loader-options");
8200
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; },\n/* harmony export */ staticRenderFns: function() { return /* binding */ staticRenderFns; }\n/* harmony export */ });\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c;\n return _c(\"div\", {\n staticClass: \"weather\"\n }, [_vm._t(\"weatherIcon\", null, {\n weatherInfo: _vm.weatherInfo\n }), _vm._v(\" \"), _c(\"span\", {\n staticClass: \"weather__Info\"\n }, [_vm._v(_vm._s(_vm.weatherInfo.weather))]), _vm._v(\" \"), _c(\"span\", {\n staticClass: \"weather__Temp\"\n }, [_vm._v(\"温度\" + _vm._s(_vm.weatherInfo.temperature) + \"°\")])], 2);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack://mui/./plugins/lib/weather/index.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet%5B1%5D.rules%5B2%5D!./node_modules/vue-loader/lib/index.js??vue-loader-options");
8201
8201
 
8202
8202
  /***/ }),
8203
8203
 
@@ -8300,6 +8300,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
8300
8300
 
8301
8301
  /***/ }),
8302
8302
 
8303
+ /***/ "./plugins/lib/form/resetFields.js":
8304
+ /*!*****************************************!*\
8305
+ !*** ./plugins/lib/form/resetFields.js ***!
8306
+ \*****************************************/
8307
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
8308
+
8309
+ "use strict";
8310
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ resetFields: function() { return /* binding */ resetFields; }\n/* harmony export */ });\n/** 根据属性类型重置数据初始化 */\nfunction resetFields(formObj) {\n const initialForm = {};\n for (const key in formObj) {\n if (formObj[key] === null || typeof formObj[key] !== 'object') {\n initialForm[key] = '';\n } else if (Array.isArray(formObj[key])) {\n initialForm[key] = [];\n } else {\n initialForm[key] = {};\n }\n }\n return initialForm;\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (resetFields);\n\n//# sourceURL=webpack://mui/./plugins/lib/form/resetFields.js?");
8311
+
8312
+ /***/ }),
8313
+
8303
8314
  /***/ "./plugins/lib/index.js":
8304
8315
  /*!******************************!*\
8305
8316
  !*** ./plugins/lib/index.js ***!
@@ -46,7 +46,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */
46
46
  \*******************************************************************************************************************************************************************************************************************************************************************/
47
47
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
48
48
 
49
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; },\n/* harmony export */ staticRenderFns: function() { return /* binding */ staticRenderFns; }\n/* harmony export */ });\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c;\n return _c(\"div\", {\n staticClass: \"weather\"\n }, [_vm._t(\"weatherIcon\"), _vm._v(\" \"), _c(\"span\", {\n staticClass: \"weather__Info\"\n }, [_vm._v(_vm._s(_vm.weatherInfo.weather))]), _vm._v(\" \"), _c(\"span\", {\n staticClass: \"weather__Temp\"\n }, [_vm._v(\"温度\" + _vm._s(_vm.weatherInfo.temperature) + \"°\")])], 2);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack://mui/./plugins/lib/weather/index.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet%5B1%5D.rules%5B2%5D!./node_modules/vue-loader/lib/index.js??vue-loader-options");
49
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; },\n/* harmony export */ staticRenderFns: function() { return /* binding */ staticRenderFns; }\n/* harmony export */ });\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c;\n return _c(\"div\", {\n staticClass: \"weather\"\n }, [_vm._t(\"weatherIcon\", null, {\n weatherInfo: _vm.weatherInfo\n }), _vm._v(\" \"), _c(\"span\", {\n staticClass: \"weather__Info\"\n }, [_vm._v(_vm._s(_vm.weatherInfo.weather))]), _vm._v(\" \"), _c(\"span\", {\n staticClass: \"weather__Temp\"\n }, [_vm._v(\"温度\" + _vm._s(_vm.weatherInfo.temperature) + \"°\")])], 2);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack://mui/./plugins/lib/weather/index.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet%5B1%5D.rules%5B2%5D!./node_modules/vue-loader/lib/index.js??vue-loader-options");
50
50
 
51
51
  /***/ }),
52
52
 
@@ -36,6 +36,7 @@
36
36
  </template>
37
37
  <script>
38
38
 
39
+ import resetFields from './resetFields'
39
40
  import { FormModel, Button, Radio, Input, InputNumber, Checkbox, DatePicker, TimePicker, Icon } from 'ant-design-vue'
40
41
 
41
42
  export default {
@@ -160,9 +161,10 @@ export default {
160
161
  },
161
162
  handleReset() {
162
163
  // 初步猜测是因这里的清空导致数据双向绑定得不到最新
163
- this.$refs.searchForm.resetFields()
164
+ this.form = resetFields(this.form)
165
+ this.$refs.searchForm.clearValidate()
164
166
  this.$emit('handleReset')
165
- }
167
+ }
166
168
  }
167
169
  }
168
170
  </script>
@@ -135,7 +135,7 @@ export default {
135
135
  childSelectedValue: {
136
136
  get() {
137
137
  return this.value || undefined
138
- },
138
+ },
139
139
  set(val) {
140
140
  this.$emit('input', val)
141
141
  }
@@ -0,0 +1,16 @@
1
+ /** 根据属性类型重置数据初始化 */
2
+ export function resetFields(formObj) {
3
+ const initialForm = {}
4
+ for (const key in formObj) {
5
+ if ( formObj[key] === null || typeof formObj[key] !== 'object') {
6
+ initialForm[key] = ''
7
+ }
8
+ else if( Array.isArray(formObj[key]) ) {
9
+ initialForm[key] = []
10
+ }
11
+ else { initialForm[key] = {} }
12
+ }
13
+ return initialForm
14
+ }
15
+
16
+ export default resetFields
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div class="weather">
3
- <slot name="weatherIcon" />
3
+ <slot name="weatherIcon" :weatherInfo="weatherInfo" />
4
4
  <span class="weather__Info">{{ weatherInfo.weather }}</span>
5
5
  <span class="weather__Temp">温度{{ weatherInfo.temperature }}°</span>
6
6
  </div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "web-component-gallery",
3
- "version": "0.1.29",
3
+ "version": "0.1.31",
4
4
  "description": "vue-library-ui组件库",
5
5
  "main": "dist/index.umd.js",
6
6
  "files": [
@@ -36,6 +36,7 @@
36
36
  </template>
37
37
  <script>
38
38
 
39
+ import resetFields from './resetFields'
39
40
  import { FormModel, Button, Radio, Input, InputNumber, Checkbox, DatePicker, TimePicker, Icon } from 'ant-design-vue'
40
41
 
41
42
  export default {
@@ -160,9 +161,10 @@ export default {
160
161
  },
161
162
  handleReset() {
162
163
  // 初步猜测是因这里的清空导致数据双向绑定得不到最新
163
- this.$refs.searchForm.resetFields()
164
+ this.form = resetFields(this.form)
165
+ this.$refs.searchForm.clearValidate()
164
166
  this.$emit('handleReset')
165
- }
167
+ }
166
168
  }
167
169
  }
168
170
  </script>
@@ -135,7 +135,7 @@ export default {
135
135
  childSelectedValue: {
136
136
  get() {
137
137
  return this.value || undefined
138
- },
138
+ },
139
139
  set(val) {
140
140
  this.$emit('input', val)
141
141
  }
@@ -0,0 +1,16 @@
1
+ /** 根据属性类型重置数据初始化 */
2
+ export function resetFields(formObj) {
3
+ const initialForm = {}
4
+ for (const key in formObj) {
5
+ if ( formObj[key] === null || typeof formObj[key] !== 'object') {
6
+ initialForm[key] = ''
7
+ }
8
+ else if( Array.isArray(formObj[key]) ) {
9
+ initialForm[key] = []
10
+ }
11
+ else { initialForm[key] = {} }
12
+ }
13
+ return initialForm
14
+ }
15
+
16
+ export default resetFields
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div class="weather">
3
- <slot name="weatherIcon" />
3
+ <slot name="weatherIcon" :weatherInfo="weatherInfo" />
4
4
  <span class="weather__Info">{{ weatherInfo.weather }}</span>
5
5
  <span class="weather__Temp">温度{{ weatherInfo.temperature }}°</span>
6
6
  </div>