mirror of
https://github.com/vform666/variant-form3-vite.git
synced 2025-06-22 09:59:56 +08:00
版本升级到3.0.4:
1. 新增必填校验自定义提示属性requiredHint; 2. 当容器被设置隐藏时,同步清除容器内所有字段的校验规则; 3. 设计器、渲染器新增两个API方法:getFieldWidgets()、getContainerWidgets(); 4. field-list-api属性允许传递请求头信息; 5. 修复异步请求时setFormData()函数可能失效的问题; 6. 修复其他部分bug。
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
import {generateId} from "@/utils/util";
|
||||
import { traverseFieldWidgetsOfContainer } from "@/utils/util";
|
||||
|
||||
export default {
|
||||
computed: {
|
||||
@ -14,6 +14,9 @@ export default {
|
||||
},
|
||||
|
||||
},
|
||||
mounted() {
|
||||
this.callSetHidden()
|
||||
},
|
||||
|
||||
methods: {
|
||||
unregisterFromRefList() { //销毁容器组件时注销组件ref
|
||||
@ -23,11 +26,33 @@ export default {
|
||||
}
|
||||
},
|
||||
|
||||
/* 主动触发setHidden()方法,以清空被隐藏容器内字段组件的校验规则!! */
|
||||
callSetHidden() {
|
||||
if (this.widget.options.hidden === true) {
|
||||
this.setHidden(true)
|
||||
}
|
||||
},
|
||||
|
||||
//--------------------- 以下为组件支持外部调用的API方法 begin ------------------//
|
||||
/* 提示:用户可自行扩充这些方法!!! */
|
||||
|
||||
setHidden(flag) {
|
||||
this.widget.options.hidden = flag
|
||||
|
||||
/* 容器被隐藏后,需要同步清除容器内部字段组件的校验规则 */
|
||||
let clearRulesFn = (fieldWidget) => {
|
||||
let fwName = fieldWidget.options.name
|
||||
let fwRef = this.getWidgetRef(fwName)
|
||||
if (flag && !!fwRef && !!fwRef.clearFieldRules) {
|
||||
fwRef.clearFieldRules()
|
||||
}
|
||||
|
||||
if (!flag && !!fwRef && !!fwRef.buildFieldRules) {
|
||||
fwRef.buildFieldRules()
|
||||
}
|
||||
}
|
||||
|
||||
traverseFieldWidgetsOfContainer(this.widget, clearRulesFn)
|
||||
},
|
||||
|
||||
activeTab(tabIndex) { //tabIndex从0计数
|
||||
|
@ -41,7 +41,8 @@
|
||||
import emitter from '@/utils/emitter'
|
||||
import './container-item/index'
|
||||
import FieldComponents from '@/components/form-designer/form-widget/field-widget/index'
|
||||
import {deepClone, insertCustomCssToHead, insertGlobalFunctionsToHtml} from "@/utils/util"
|
||||
import {deepClone, insertCustomCssToHead, insertGlobalFunctionsToHtml, getAllContainerWidgets,
|
||||
getAllFieldWidgets} from "@/utils/util"
|
||||
import i18n, { changeLocale } from "@/utils/i18n"
|
||||
import eventBus from "@/utils/event-bus"
|
||||
|
||||
@ -549,7 +550,23 @@
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* 获取所有字段组件
|
||||
* @returns {*[]}
|
||||
*/
|
||||
getFieldWidgets() {
|
||||
return getAllFieldWidgets(this.formJsonObj.widgetList)
|
||||
},
|
||||
|
||||
/**
|
||||
* 获取所有容器组件
|
||||
* @returns {*[]}
|
||||
*/
|
||||
getContainerWidgets() {
|
||||
return getAllContainerWidgets(this.formJsonObj.widgetList)
|
||||
},
|
||||
|
||||
//--------------------- 以上为组件支持外部调用的API方法 end ------------------//
|
||||
|
||||
|
Reference in New Issue
Block a user