fix: 修复rule validator类型默认为string,导致 radio 等组件在 setFormValues 时,如果值不是string类型,提示校验错误
2个文件已修改
7 ■■■■■ 已修改文件
src/components/Form/src/components/FormItem.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/Form/src/helper.ts 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/Form/src/components/FormItem.vue
@@ -220,10 +220,6 @@
            rule.required = false;
          }
          if (component) {
            if (!Reflect.has(rule, 'type')) {
              rule.type = component === 'InputNumber' ? 'number' : 'string';
            }
            rule.message = rule.message || defaultMsg;
            if (component.includes('Input') || component.includes('Textarea')) {
src/components/Form/src/helper.ts
@@ -40,6 +40,9 @@
  component: ComponentType,
  valueFormat: string,
) {
  if (Reflect.has(rule, 'type')) {
    return;
  }
  if (['DatePicker', 'MonthPicker', 'WeekPicker', 'TimePicker'].includes(component)) {
    rule.type = valueFormat ? 'string' : 'object';
  } else if (['RangePicker', 'Upload', 'CheckboxGroup', 'TimePicker'].includes(component)) {