Browse Source

fix(form&radio): 修复 radio 表单校验相关问题 (#1587)

* fix(radio): 修复 prop-label 不支持 boolean 类型的问题 #1575

* fix(form&radio): 修复表单校验时 0 与 false 被判断为空的问题 #1574
peixinyu 3 years ago
parent
commit
1af94f986b

+ 1 - 1
src/packages/__VUE/form/common.ts

@@ -87,7 +87,7 @@ export const component = {
         const { required, validator, regex, message } = _rules.shift() as FormItemRule;
         const errorMsg = { prop, message };
         if (required) {
-          if (!value) {
+          if (value === '' || value === undefined || value === null) {
             return _Promise(errorMsg);
           }
         }

+ 2 - 2
src/packages/__VUE/radio/index.taro.vue

@@ -15,7 +15,7 @@ export default create({
       default: 'round' // button
     },
     label: {
-      type: [String, Number],
+      type: [String, Number, Boolean],
       default: ''
     },
     iconName: {
@@ -43,7 +43,7 @@ export default create({
     let parent: any = inject('parent', null);
 
     const isCurValue = computed(() => {
-      return parent.label.value == props.label;
+      return parent.label.value === props.label;
     });
 
     const color = computed(() => {

+ 2 - 2
src/packages/__VUE/radio/index.vue

@@ -15,7 +15,7 @@ export default create({
       default: 'round' // button
     },
     label: {
-      type: [String, Number],
+      type: [String, Number, Boolean],
       default: ''
     },
     iconName: {
@@ -43,7 +43,7 @@ export default create({
     let parent: any = inject('parent', null);
 
     const isCurValue = computed(() => {
-      return parent.label.value == props.label;
+      return parent.label.value === props.label;
     });
 
     const color = computed(() => {