Browse Source

feat: 解决Form组件slot必须传递component字段才显示的问题

main
xingyu 2 years ago
parent
commit
e304a37b37
  1. 7
      src/components/Form/src/components/FormItem.vue

7
src/components/Form/src/components/FormItem.vue

@ -140,7 +140,8 @@ export default defineComponent({
const { rulesMessageJoinLabel: globalRulesMessageJoinLabel } = props.formProps const { rulesMessageJoinLabel: globalRulesMessageJoinLabel } = props.formProps
const joinLabel = Reflect.has(props.schema, 'rulesMessageJoinLabel') ? rulesMessageJoinLabel : globalRulesMessageJoinLabel const joinLabel = Reflect.has(props.schema, 'rulesMessageJoinLabel') ? rulesMessageJoinLabel : globalRulesMessageJoinLabel
const defaultMsg = `${createPlaceholderMessage(component)}${joinLabel ? label : ''}` const assertLabel = joinLabel ? label : ''
const defaultMsg = component ? createPlaceholderMessage(component) + assertLabel : assertLabel
function validator(rule: any, value: any) { function validator(rule: any, value: any) {
const msg = rule.message || defaultMsg const msg = rule.message || defaultMsg
@ -354,8 +355,8 @@ export default defineComponent({
} }
return () => { return () => {
const { colProps = {}, colSlot, renderColContent, component } = props.schema const { colProps = {}, colSlot, renderColContent, component, slot } = props.schema
if (!componentMap.has(component)) if (!componentMap.has(component) && !slot)
return null return null
const { baseColProps = {} } = props.formProps const { baseColProps = {} } = props.formProps