From fcc2a4727c665b07055de500e1f6c6fd5dac7d4b Mon Sep 17 00:00:00 2001 From: ailululu <912429321@qq.com> Date: Thu, 25 Aug 2022 16:11:12 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=20cascader=20?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=20(#202)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .eslintrc.js | 2 + src/config.json | 10 + .../__snapshots__/cascader.spec.tsx.snap | 775 ++++++++++++++++++ .../cascader/__tests__/cascader.spec.tsx | 466 +++++++++++ src/packages/cascader/cascader.scss | 70 ++ src/packages/cascader/cascader.tsx | 426 ++++++++++ src/packages/cascader/cascaderItem.tsx | 103 +++ src/packages/cascader/demo.tsx | 419 ++++++++++ src/packages/cascader/doc.en-US.md | 465 +++++++++++ src/packages/cascader/doc.md | 465 +++++++++++ src/packages/cascader/doc.zh-TW.md | 465 +++++++++++ src/packages/cascader/helper.ts | 102 +++ src/packages/cascader/index.ts | 3 + src/packages/cascader/tree.ts | 82 ++ src/packages/cascader/types.ts | 32 + src/styles/variables.scss | 15 + 16 files changed, 3900 insertions(+) create mode 100644 src/packages/cascader/__tests__/__snapshots__/cascader.spec.tsx.snap create mode 100644 src/packages/cascader/__tests__/cascader.spec.tsx create mode 100644 src/packages/cascader/cascader.scss create mode 100644 src/packages/cascader/cascader.tsx create mode 100644 src/packages/cascader/cascaderItem.tsx create mode 100644 src/packages/cascader/demo.tsx create mode 100644 src/packages/cascader/doc.en-US.md create mode 100644 src/packages/cascader/doc.md create mode 100644 src/packages/cascader/doc.zh-TW.md create mode 100644 src/packages/cascader/helper.ts create mode 100644 src/packages/cascader/index.ts create mode 100644 src/packages/cascader/tree.ts create mode 100644 src/packages/cascader/types.ts diff --git a/.eslintrc.js b/.eslintrc.js index 0e0a322..45e7cc0 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -97,5 +97,7 @@ module.exports = { ], 'react/require-default-props': 0, 'no-bitwise': 0, + 'no-multi-assign': 0, // 禁止连续赋值 + 'no-cond-assign': 0, // 禁止条件表达式中出现赋值操作符 }, } diff --git a/src/config.json b/src/config.json index e229834..23efc21 100644 --- a/src/config.json +++ b/src/config.json @@ -474,6 +474,16 @@ "taro": false, "author": "swag~jun" }, + { + "version": "0.1.0", + "name": "Cascader", + "type": "component", + "cName": "级联选择器", + "desc": "级联选择,用于多层级数据的选择,典型场景为省市区选择。", + "sort": 1, + "show": true, + "author": "ailululu" + }, { "version": "1.0.0", "name": "SearchBar", diff --git a/src/packages/cascader/__tests__/__snapshots__/cascader.spec.tsx.snap b/src/packages/cascader/__tests__/__snapshots__/cascader.spec.tsx.snap new file mode 100644 index 0000000..7732ddb --- /dev/null +++ b/src/packages/cascader/__tests__/__snapshots__/cascader.spec.tsx.snap @@ -0,0 +1,775 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Cascader change tab 1`] = ` +
+
+
+ +
+`; + +exports[`Cascader change tab 2`] = ` +
+
+
+ +
+`; + +exports[`Cascader no visible 1`] = ` +
+
+
+ +
+`; + +exports[`Cascader options 1`] = ` +
+
+
+
+
+`; + +exports[`Cascader options with convertConfig 1`] = ` +
+
+
+
+
+`; + +exports[`Cascader options with valueKey/textKey/childrenKey 1`] = ` +
+
+
+
+
+`; + +exports[`Cascader select with lazy 1`] = ` +
+
+
+
+
+`; + +exports[`Cascader select with lazy 2`] = ` +
+
+
+
+
+`; + +exports[`Cascader value 1`] = ` +
+
+
+
+
+`; + +exports[`Cascader value with lazy 1`] = ` +
+
+
+