浏览代码

fix: picker 联动bug (#417)

* feat: add datepicker

* fix: 修复datepicker问题

* fix: datepicker解决导入相关问题

* fix: picker 联动bug

* fix: picker bug
kaixuan 4 年之前
父节点
当前提交
2033719689
共有 3 个文件被更改,包括 23 次插入28 次删除
  1. 0 1
      src/packages/datepicker/demo.vue
  2. 11 14
      src/packages/datepicker/index.vue
  3. 12 13
      src/packages/picker/index.vue

+ 0 - 1
src/packages/datepicker/demo.vue

@@ -138,7 +138,6 @@ export default createDemo({
         showList[index].value = true;
       },
       confirm: (index: number, val: string[]) => {
-        console.log(val);
         descList[index].value = val.join('-');
       }
     };

+ 11 - 14
src/packages/datepicker/index.vue

@@ -200,19 +200,17 @@ export default create({
     });
 
     const changeHandler = (val: string[]) => {
-      console.log(val);
-      let formatDate = [];
-      if (props.isShowChinese) {
-        formatDate = val.map((res: string) => {
-          return Number(res.slice(0, res.length - 1));
-        }) as any;
-        console.log(formatDate);
-      } else {
-        formatDate = val;
-      }
-      state.currentDate = formatValue(
-        new Date(formatDate[0], formatDate[1] - 1, formatDate[2])
-      );
+      // let formatDate = [];
+      // if (props.isShowChinese) {
+      //   formatDate = val.map((res: string) => {
+      //     return Number(res.slice(0, res.length - 1));
+      //   }) as any;
+      // } else {
+      //   formatDate = val;
+      // }
+      // state.currentDate = formatValue(
+      //   new Date(formatDate[0], formatDate[1] - 1, formatDate[2])
+      // );
     };
 
     const generateValue = (
@@ -276,7 +274,6 @@ export default create({
       }
       return val;
     });
-
     const handleClick = (event: Event) => {
       emit('click', event);
     };

+ 12 - 13
src/packages/picker/index.vue

@@ -132,7 +132,7 @@ export default create({
     const addDefaultIndexList = (listData: PickerObjectColumn[]) => {
       defaultIndexList = [];
       listData.forEach(res => {
-        defaultIndexList.push(res.defaultIndex as number);
+        defaultIndexList.push((res.defaultIndex as number) || 0);
       });
     };
 
@@ -146,7 +146,7 @@ export default create({
       while (children) {
         formatted.push({
           values: children,
-          defaultIndex: defaultIndex
+          defaultIndex: children.defaultIndex || 0
         });
         children = children?.[children.defaultIndex || 0].children;
       }
@@ -177,20 +177,19 @@ export default create({
 
     const changeHandler = (columnIndex: number, dataIndex: number) => {
       if (dataType.value === 'cascade') {
-        let cursor = toRaw(state.formattedColumns) as PickerObjectColumns;
+        let cursor = state.formattedColumns as PickerObjectColumns;
         if (columnIndex === 0) {
           state.defaultIndex = dataIndex;
-        } else {
-          let i = 0;
-          while (cursor) {
-            if (i === columnIndex) {
-              cursor.defaultIndex = dataIndex;
-            } else if (i > columnIndex) {
-              cursor.defaultIndex = 0;
-            }
-            cursor = cursor[cursor.defaultIndex || 0].children;
-            i++;
+        }
+        let i = 0;
+        while (cursor) {
+          if (i === columnIndex) {
+            cursor.defaultIndex = dataIndex;
+          } else if (i > columnIndex) {
+            cursor.defaultIndex = 0;
           }
+          cursor = cursor[cursor.defaultIndex || 0].children;
+          i++;
         }
       } else if (dataType.value === 'text') {
         _defaultIndex = dataIndex;