Преглед на файлове

Merge pull request #2080 from DouyinFE/fix/cascader-value-number

fix: fix the panel does not display the selection if the value type i…
代强 преди 1 година
родител
ревизия
f4e589475f
променени са 4 файла, в които са добавени 60 реда и са изтрити 3 реда
  1. 7 0
      cypress/e2e/cascader.spec.js
  2. 1 1
      cypress/e2e/image.spec.js
  3. 1 1
      packages/semi-foundation/cascader/util.ts
  4. 51 1
      packages/semi-ui/cascader/_story/cascader.stories.jsx

+ 7 - 0
cypress/e2e/cascader.spec.js

@@ -113,4 +113,11 @@ describe('cascader', () => {
         // value change should not effect input value
         cy.get('input').should('have.value', '');
     });
+
+    it('value type number', () => {
+        cy.visit('http://127.0.0.1:6006/iframe.html?id=cascader--number-value&args=&viewMode=story');
+        cy.get('.semi-cascader-selection').click();
+        cy.get('.semi-checkbox.semi-checkbox-checked').eq(0).should('exist');
+    });
+    
 });

+ 1 - 1
cypress/e2e/image.spec.js

@@ -561,7 +561,7 @@ describe('image', () => {
     });
 
     // API:previewCls, previewStyle,测试 preview 的 className 和 style 是否生效
-    it.only("previewCls & previewStyle", () => {
+    it("previewCls & previewStyle", () => {
         cy.visit('http://127.0.0.1:6006/iframe.html?id=image--preview-cls-and-preview-style&args=&viewMode=storyi');
         cy.wait(4000);
         cy.get('.semi-image-img-preview').eq(0).click();

+ 1 - 1
packages/semi-foundation/cascader/util.ts

@@ -60,7 +60,7 @@ function traverseDataNodes(treeNodes: any, callback: any) {
         let item: any = null;
         // Process node if is not root
         if (node) {
-            const key = parent ? `${parent.key}${VALUE_SPLIT}${node.value}` : node.value;
+            const key = parent ? `${parent.key}${VALUE_SPLIT}${node.value}` : `${node.value}`;
             const pos = parent ? getPosition(parent.pos, ind) : `${ind}`;
             item = {
                 data: { ...node },

+ 51 - 1
packages/semi-ui/cascader/_story/cascader.stories.jsx

@@ -2322,4 +2322,54 @@ export const AutoMergeFalse = () => {
           onChange={e => onChange(e)}
       />
   );
-}
+}
+
+export const NumberValue = () => {
+  const [value, setValue] = useState([[ 39 ]]);
+  const onChange = useCallback((val) => {
+    console.log('onChange', val);
+    setValue(val);
+  }, []);
+  const treeData = useMemo(() => [
+      {
+          "label": "奖励",
+          "value": 2,
+          "children": [
+              {
+                  "label": "短期项目激励",
+                  "value": 3
+              },
+              {
+                  "label": "专项激励",
+                  "value": 8
+              }
+          ]
+      },
+      {
+          "label": "补结",
+          "value": 39,
+          "children": []
+      },
+      {
+          "label": "补扣",
+          "value": 40,
+          "children": [
+              {
+                  "label": "A",
+                  "value": 100
+              }
+          ]
+      }
+  ]);
+
+  return (
+      <Cascader
+          multiple
+          onChange={onChange}
+          value={value}
+          style={{ width: 300 }}
+          treeData={treeData}
+          placeholder="请选择所在地区"
+      />
+  );
+};