diff --git a/.eslintrc b/.eslintrc deleted file mode 100644 index 58295097d8..0000000000 --- a/.eslintrc +++ /dev/null @@ -1,77 +0,0 @@ -{ - "root": true, - "env": { - "browser": true, - "node": true, - "jasmine": true, - "jest": true, - "es6": true - }, - "parserOptions": { - "parser": "babel-eslint" - }, - "extends": ["plugin:vue/vue3-recommended", "prettier"], - "plugins": ["markdown", "jest"], - "overrides": [ - { - "files": ["**/demo/*.md"], - "processor": "markdown/markdown", - "rules": { - "no-console": "off" - } - }, - { - "files": ["*.ts", "*.tsx"], - "extends": [ - "@vue/typescript/recommended", - "@vue/prettier", - "@vue/prettier/@typescript-eslint" - ], - "rules": { - "@typescript-eslint/no-explicit-any": 0, - "@typescript-eslint/ban-types": 0, - "@typescript-eslint/consistent-type-imports": 1, - "@typescript-eslint/explicit-module-boundary-types": 0, - "@typescript-eslint/no-empty-function": 0, - "@typescript-eslint/no-non-null-assertion": 0, - "@typescript-eslint/no-unused-vars": [ - "error", - { "vars": "all", "args": "after-used", "ignoreRestSiblings": true } - ], - "@typescript-eslint/ban-ts-comment": 0 - } - } - ], - "rules": { - "comma-dangle": [2, "always-multiline"], - "no-var": "error", - "no-console": [2, { "allow": ["warn", "error"] }], - "object-shorthand": 2, - "no-unused-vars": [2, { "ignoreRestSiblings": true, "argsIgnorePattern": "^h$" }], - "no-undef": 2, - "camelcase": "off", - "no-extra-boolean-cast": "off", - "semi": ["error", "always"], - "vue/require-explicit-emits": "off", - "vue/require-prop-types": "off", - "vue/require-default-prop": "off", - "vue/no-reserved-keys": "off", - "vue/comment-directive": "off", - "vue/prop-name-casing": "off", - "vue/one-component-per-file": "off", - "vue/custom-event-name-casing": "off", - "vue/max-attributes-per-line": [ - 2, - { - "singleline": 20, - "multiline": { - "max": 1, - "allowFirstLine": false - } - } - ] - }, - "globals": { - "h": true - } -} diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000000..5d6c4a7f69 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,101 @@ +module.exports = { + root: true, + env: { + browser: true, + node: true, + jasmine: true, + jest: true, + es6: true, + }, + parser: '@typescript-eslint/parser', + parserOptions: { + parser: 'babel-eslint', + }, + extends: [ + 'plugin:vue/vue3-recommended', + 'plugin:import/recommended', + 'plugin:import/typescript', + 'prettier', + ], + plugins: ['markdown', 'jest', '@typescript-eslint', 'import'], + overrides: [ + { + files: ['*.md'], + processor: 'markdown/markdown', + rules: { + 'no-console': 'off', + }, + }, + { + files: ['*.ts', '*.tsx'], + extends: ['@vue/typescript/recommended', '@vue/prettier', '@vue/prettier/@typescript-eslint'], + parserOptions: { + project: './tsconfig.json', + }, + rules: { + '@typescript-eslint/no-explicit-any': 0, + '@typescript-eslint/ban-types': 0, + '@typescript-eslint/consistent-type-imports': 'error', + '@typescript-eslint/explicit-module-boundary-types': 0, + '@typescript-eslint/no-empty-function': 0, + '@typescript-eslint/no-non-null-assertion': 0, + '@typescript-eslint/no-unused-vars': [ + 'error', + { vars: 'all', args: 'after-used', ignoreRestSiblings: true }, + ], + '@typescript-eslint/ban-ts-comment': 0, + }, + }, + { + files: ['*.vue'], + parser: 'vue-eslint-parser', + parserOptions: { + parser: '@typescript-eslint/parser', + }, + rules: { + 'no-console': 'off', + '@typescript-eslint/no-unused-vars': [ + 'error', + { vars: 'all', args: 'after-used', ignoreRestSiblings: true }, + ], + }, + }, + ], + rules: { + 'import/no-named-as-default': 'off', + 'import/namespace': [2, { allowComputed: true }], + 'import/no-named-as-default-member': 'off', + 'import/no-unresolved': [2, { ignore: ['ant-design-vue'] }], + 'comma-dangle': [2, 'always-multiline'], + 'no-var': 'error', + 'no-console': [2, { allow: ['warn', 'error'] }], + 'object-shorthand': 2, + 'no-unused-vars': [2, { ignoreRestSiblings: true, argsIgnorePattern: '^_' }], + 'no-undef': 2, + camelcase: 'off', + 'no-extra-boolean-cast': 'off', + semi: ['error', 'always'], + 'vue/no-v-html': 'off', + 'vue/require-explicit-emits': 'off', + 'vue/require-prop-types': 'off', + 'vue/require-default-prop': 'off', + 'vue/no-reserved-keys': 'off', + 'vue/comment-directive': 'off', + 'vue/prop-name-casing': 'off', + 'vue/one-component-per-file': 'off', + 'vue/custom-event-name-casing': 'off', + 'vue/max-attributes-per-line': [ + 2, + { + singleline: 20, + multiline: { + max: 1, + allowFirstLine: false, + }, + }, + ], + }, + globals: { + h: true, + }, +}; diff --git a/.gitignore b/.gitignore index 86ef043fef..528ba0b75f 100644 --- a/.gitignore +++ b/.gitignore @@ -63,7 +63,6 @@ _site yarn.lock package-lock.json /coverage -.husky # 备份文件 /components/test/* @@ -73,3 +72,7 @@ site/dev.js # IDE 语法提示临时文件 vetur/ + +report.html + +site/src/router/demoRoutes.js diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index c91a4eb96c..0000000000 --- a/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "v2-doc"] - path = v2-doc - url = https://github.com/vueComponent/v2-doc diff --git a/.husky/.gitignore b/.husky/.gitignore new file mode 100644 index 0000000000..31354ec138 --- /dev/null +++ b/.husky/.gitignore @@ -0,0 +1 @@ +_ diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100755 index 0000000000..f91359dc2a --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1,4 @@ +#!/bin/sh +. "$(dirname "$0")/_/husky.sh" + +npx --no-install pretty-quick --staged diff --git a/.jest.js b/.jest.js index d330a7dfa6..eee898eccc 100644 --- a/.jest.js +++ b/.jest.js @@ -8,9 +8,7 @@ const transformIgnorePatterns = [ 'node_modules/(?!@ant-design/icons-vue|@ant-design/icons-svg|lodash-es)/', ]; const testPathIgnorePatterns = ['/node_modules/', 'node']; -if (process.env.WORKFLOW === 'true') { - testPathIgnorePatterns.push('demo\\.test*'); -} + module.exports = { testURL: 'http://localhost/', setupFiles: ['./tests/setup.js'], diff --git a/.prettierrc b/.prettierrc index 5989126d72..3ccb6b6be7 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1,9 +1,11 @@ { "singleQuote": true, "trailingComma": "all", + "endOfLine": "lf", "printWidth": 100, "proseWrap": "never", "arrowParens": "avoid", + "htmlWhitespaceSensitivity": "ignore", "overrides": [ { "files": ".prettierrc", diff --git a/CHANGELOG.en-US.md b/CHANGELOG.en-US.md index 6ccf6ed5a4..7b1d3fc36c 100644 --- a/CHANGELOG.en-US.md +++ b/CHANGELOG.en-US.md @@ -4,12 +4,115 @@ #### Release Schedule -- Weekly release: patch version for routine bugfix. -- Monthly release: minor version for new features. +- Weekly release: patch version at the end of every week for routine bugfix (anytime for urgent bugfix). +- Monthly release: minor version at the end of every month for new features. - Major version release is not included in this schedule for breaking change and new features. --- +## 3.0.0-alpha.0 + +`2021-09-24` + +🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥 + +- Open source documentation +- Removed the `lazy` attribute of Transfer, it does not have a real optimization effect. +- Removed the `combobox` mode of Select, please use `AutoComplete` instead. +- Deprecated Button.Group, please use `Space` instead. +- `Timeline.Item` new label +- `Steps` added `responsive`, `percent` +- `Collapse` added `ghost`, `collapsible` +- `Popconfirm` added `cancelButton`, `okButton`, and `esc` button hiding +- `ConfigProvider` added ConfigProvider.config to define the configuration of `Modal.xxx` `message` `notification` +- `Tree` `TreeSlelct` + + - Added virtual scrolling, discarded using `a-tree-node` `a-tree-select-node` to build nodes, using `treeData` property instead to improve component performance + - Deprecated `scopedSlots` `slots` custom rendering node, and replace it with `v-slot:title` to improve ease of use, avoid slot configuration expansion, and also avoid slot conflicts + +- `Table` + + - Removed the `rowSelection.hideDefaultSelections` property of Table, please use `SELECTION_ALL` and `SELECTION_INVERT` in `rowSelection.selections` instead, [custom options](/components/table/#components-table-demo- row-selection-custom). + - Removed Column slots and replaced them with `v-slot:headerCell` `v-slot:headerCell` `v-slot:bodyCell` `v-slot:customFilterDropdown` `v-slot:customFilterIcon` to improve ease of use , To avoid slot configuration expansion, but also to avoid the problem of slot conflicts + - Added expandFixed to control whether the expanded icon is fixed + - Added the showSorterTooltip header whether to display the tooltip for the next sort. + - Added sticky for setting sticky head and scroll bar + - Added rowExpandable to set whether to allow row expansion + - New slot headerCell is used to personalize the header cell + - Added slot bodyCell for personalized cell + - New slot customFilterDropdown is used to customize the filter menu, which needs to be used with `column.customFilterDropdown` + - Added slot customFilterIcon for custom filter icons + - New slot emptyText is used to customize the display content of empty data + - Added slot summary for the summary column + +- `DatePicker` `TimePicker` `Calendar` + + - By default, a more lightweight dayjs is used to replace momentjs. If your project is too large and uses a lot of momentjs methods, you can refer to the document [Custom Time Library](/docs/vue/replace-date-cn), Replace with momentjs. + - UI interaction adjustment, its antd 4.x interaction specification + +- `Form` The main goal of this update is to improve performance. If you don't have custom form controls, you can almost ignore this part + + - Since version 3.0, Form.Item no longer hijacks child elements, but automatically checks through provider/inject dependency injection. This method can improve component performance, and there is no limit to the number of child elements. The same is true for child elements. It can be a high-level component that is further encapsulated. + + You can reference [Customized Form Controls](#components-form-demo-customized-form-controls) + + But it also has some disadvantages: + + 1. If the custom component wants Form.Item to be verified and displayed, you need to inject `const {id, onFieldChange, onFieldBlur} = useFormItemContext()` and call the corresponding method. + + 2. A Form.Item can only collect the data of one form item. If there are multiple form items, it will cause collection confusion, for example, + + ```html + + + + + ``` + + As above Form.Item does not know whether to collect `name="a"` or `name=`b``, you can solve this kind of problem in the following two ways: + + The first is to use multiple `a-form-item`: + + ```html + + + + + ``` + + The second way is to wrap it with a custom component and call `useFormItemContext` in the custom component, It is equivalent to merging multiple form items into one. + + ```html + + ``` + + ```html + + + + + + + ``` + + Third, the component library provides an `a-form-item-rest` component, which will prevent data collection. You can put form items that do not need to be collected and verified into this component. It is the same as the first This method is very similar, but it does not generate additional dom nodes. + + ```html + + + + + ``` + ## 2.2.8 `2021-09-17` @@ -544,7 +647,8 @@ In `ant-design-vue@1.2.0`, we introduced the svg icon ([Why use the svg icon?](h The old way of using Icon will be obsolete: ```html - + + ``` In 2.0, an on-demand introduction method will be adopted: @@ -579,6 +683,7 @@ Involving changes: ```js // v1 +// eslint-disable-next-line no-undef,no-unused-vars validateFields((err, value) => { if (!err) { // Do something with value @@ -590,1028 +695,12 @@ Change to ```js // v2 +// eslint-disable-next-line no-undef,no-unused-vars validateFields().then(values ​​=> { // Do something with value }); ``` -## 1.6.4 - -`2020-07-21` - -- 🐞 Fix breadcrumb `Breadcrumb` duplicate key problem [#2505](https://github.com/vueComponent/ant-design-vue/issues/2505) -- 🐞 Fix the Tooltip issue when MenuItem title is empty [#2526](https://github.com/vueComponent/ant-design-vue/issues/2505) -- 🐞 Fix the problem that Input textarea cannot be dragged up when allow-clear is activated. [#2563](https://github.com/vueComponent/ant-design-vue/issues/2563) -- 🌟 Add less variables @select-item-selected-color [#2458](https://github.com/vueComponent/ant-design-vue/issues/2458) -- 🌟 Add flex attribute to Col in Grid [#2558](https://github.com/vueComponent/ant-design-vue/issues/2558) - -## 1.6.3 - -`2020-07-05` - -- 🐞 Fix Input.Password focus position shift issue [#2420](https://github.com/vueComponent/ant-design-vue/pull/2420) -- 🐞 Fix Drawer maskstyle not working [#2407](https://github.com/vueComponent/ant-design-vue/issues/2407) -- 🐞 Fix Drawer maskstyle not working [#2407](https://github.com/vueComponent/ant-design-vue/issues/2407) -- 🌟 Button supports custom Icon [#2245](https://github.com/vueComponent/ant-design-vue/pull/2245) -- 🌟 DatePicker supports custom format [#2276](https://github.com/vueComponent/ant-design-vue/pull/2276) -- 🐞 Fix DatePicker year and time is incorrect [#2488](https://github.com/vueComponent/ant-design-vue/issues/2488) -- 🌟 Optimize the Menu component, the animation is smoother -- 🐞 Fix Dropdown pop-up position error [#2359](https://github.com/vueComponent/ant-design-vue/issues/2359) -- 🐞 Fix the problem of duplicate key when `Breadcrumb` has the same name [#2505](https://github.com/vueComponent/ant-design-vue/issues/2505) - -## 1.6.2 - -`2020-06-02` - -- 🐞 Fix dialogClass type error [#2298](https://github.com/vueComponent/ant-design-vue/issues/2298) -- 🐞 Fix RangePicker panel display error [#2318](https://github.com/vueComponent/ant-design-vue/issues/2318) - -## 1.6.1 - -`2020-05-25` - -- 🐞 Fix the problem of filling the current time when DatePicker blur [#2246](https://github.com/vueComponent/ant-design-vue/issues/2246) -- 🐞 Fix Drawer error when destroying [#2254](https://github.com/vueComponent/ant-design-vue/issues/2254) -- 🐞 Fix Tabs cannot remove tabs with 0 as key [55bbf9](https://github.com/vueComponent/ant-design-vue/commit/55bbf940401cf2a67114102da1c035abc4152f06) -- 🐞 Fix Menu trigger twice click event [#2266](https://github.com/vueComponent/ant-design-vue/issues/2266) -- 🐞 Fix Menu active class name is not added [ffc002](https://github.com/vueComponent/ant-design-vue/commit/ffc002f09454a56b531aeb08530303d566cf24f2) -- 🌟 TreeSelect add custom data field function [#2253](https://github.com/vueComponent/ant-design-vue/issues/2253) -- 🌟 Modal added dialogStyle and dialogClass instead of style and class before refactoring [#2285](https://github.com/vueComponent/ant-design-vue/issues/2285) -- 🐞 Fix Table sorting trigger infinite update issue [#2270](https://github.com/vueComponent/ant-design-vue/issues/2270) - -## 1.6.0 - -`2020-05-15` - -- 🌟 Tootip supports custom components [741897](https://github.com/vueComponent/ant-design-vue/commit/741897be6742c752f0b0d29481add702ee7e7fb0) -- 🐞 Refactor Modal's underlying Portal components to solve the problem of delayed content update in Modal [#2244](https://github.com/vueComponent/ant-design-vue/issues/2244) -- 🐞 Fix Select option focus border style in Input.Group [#2224](https://github.com/vueComponent/ant-design-vue/pull/2224) -- 🐞 Fix Cascader option icon color when disabled [#2223](https://github.com/vueComponent/ant-design-vue/pull/2223) -- 🐞 Fix DatePicker color when separator is disabled [#2222](https://github.com/vueComponent/ant-design-vue/pull/2222) -- 🐞 Fix Carousel keyboard switch to Radio / Checkbox on inactive slide. -- 🐞 Fix the problem that Table filter menu is not displayed when less version is `2.x`. [#23272](https://github.com/ant-design/ant-design/pull/23272) -- 🐞 Fix the failure of Table `column.filtered`. -- 🐞 Fix the style problem of Input in Safari browser in Select `multiple` mode. [#22586](https://github.com/ant-design/ant-design/pull/22586) -- 🐞 Fix the problem that Descriptions can not adapt in small size. [#22407](https://github.com/ant-design/ant-design/pull/22407) - -## 1.5.6 - -`2020-05-09` - -- 🐞 Fix the problem of missing css, min.js and other files in the dist folder - -## 1.5.5 - -`2020-05-08` - -- 🐞 Fix `Tabs` not showing issue under safari 13 [#2199](https://github.com/vueComponent/ant-design-vue/issues/2199) -- 🐞 Fix the first input failure of `Input` under FireFox [#2151](https://github.com/vueComponent/ant-design-vue/issues/2151) -- 🐞 Fix `Input` cursor shift issue in Modal component [#2207](https://github.com/vueComponent/ant-design-vue/issues/2207) - -## 1.5.4 - -`2020-04-30` - -- 🌟 `DatePicker` supports the align attribute and sets the popup position [#1112f2](https://github.com/vueComponent/ant-design-vue/commit/1112f2f791fd64866284ec82def90baefe81e798) -- 🌟 `DatePicker` supports inputReadOnly attribute [#138eae](https://github.com/vueComponent/ant-design-vue/commit/138eae594dd440ce815e45d811a0778cb3e7583f) -- 🌟 `DatePicker` `TimePicker` `Calendar` supports string-type binding values ​​[#718](https://github.com/vueComponent/ant-design-vue/issues/718) -- 🌟 `Table` `ConfigProvider` adds `transformCellText` for transforming table rendering values, such as processing of empty data [#2109](https://github.com/vueComponent/ant-design-vue/issues/2109) -- 🌟 `FormModel` added validateMessages attribute [#2130](https://github.com/vueComponent/ant-design-vue/issues/2130) -- 🌟 Optimize pop-up window animation effect [#bf52f73](https://github.com/vueComponent/ant-design-vue/commit/bf52f73c5c2f8d05981e426b41a5f46d66e096db) -- 🐞 Fix the `tabBarGutter` attribute of the `Tabs` component does not take effect [#2083](https://github.com/vueComponent/ant-design-vue/issues/2083) -- 🐞 Fix renderTabBar of `Tabs` component not working [#2157](https://github.com/vueComponent/ant-design-vue/issues/2157) -- 🌟 `Tabs` component supports number 0 as key [#2167](https://github.com/vueComponent/ant-design-vue/issues/2167) -- 🐞 Fix the style of the Input.Search component is misaligned [#2077](https://github.com/vueComponent/ant-design-vue/issues/2077) -- 🐞 Fix the style misalignment of `Slider` component [#2097](https://github.com/vueComponent/ant-design-vue/issues/2097) -- 🐞 Fix `Tree.TreeNode` customTitle scope slot can not get selected status issue [#2006](https://github.com/vueComponent/ant-design-vue/issues/2006) -- 🐞 Fix `SelectTree` showSearch error when reporting [#2082](https://github.com/vueComponent/ant-design-vue/issues/2082) -- 🐞 Fix the inconsistent position of original dots in `Badge` dot state [#2121](https://github.com/vueComponent/ant-design-vue/issues/2121) - -## 1.5.3 - -`2020-04-13` - -- 🐞 Fix the problem that the content does not respond to updates when `Dropdown` visible is unchanged [#81eb40](https://github.com/vueComponent/ant-design-vue/commit/81eb401a8899aa3fe0acca88340b323f6e09db45) - -## 1.5.2 - -`2020-04-09` - -- 🐞 Fix ts type of `FormModel` not introduced [#1996](https://github.com/vueComponent/ant-design-vue/issues/1966) -- 🐞 Fix `DatePicker.WeekPicker` type file error [#2044](https://github.com/vueComponent/ant-design-vue/issues/2044) -- 🐞 Fix "Tabs" tabClick event does not take effect [#2030](https://github.com/vueComponent/ant-design-vue/issues/2030) -- 🐞 Fix `Table` resize error issue [#2033](https://github.com/vueComponent/ant-design-vue/issues/2033) - -## 1.5.1 - -`2020-04-02` - -- 🐞 Fix `PageHeader` cannot hide backIcon [#1987](https://github.com/vueComponent/ant-design-vue/pull/1987) -- 🐞 Fix `Pagination` doesn't update when total changes [#1989](https://github.com/vueComponent/ant-design-vue/pull/1989) -- 🐞 Fix placeholder does not disappear when inputting `TreeSelect` in Chinese [#1994](https://github.com/vueComponent/ant-design-vue/pull/1994) -- 🐞 Fix `Table` customRender cannot customize class style [#2004](https://github.com/vueComponent/ant-design-vue/pull/2004) -- 🐞 Fix `Form` missing slot content when using Form.create [#1998](https://github.com/vueComponent/ant-design-vue/pull/1998) -- 🐞 Fix `Textarea` scroll bar flickering problem [#1964](https://github.com/vueComponent/ant-design-vue/pull/1964) -- 🌟 Add ts type file of `FormModel` [#1996](https://github.com/vueComponent/ant-design-vue/issues/1966) -- 🌟 Add `modal` destroyAll type declaration [#1993](https://github.com/vueComponent/ant-design-vue/pull/1963) - -## 1.5.0 - -`2020-03-29` - -- Four new components have been added: - - 🔥🔥🔥 [Mentions](https://antdv.com/components/mentions/) Added mentioned components and discarded the original Mention components. - - 🔥🔥🔥 [Descriptions](https://antdv.com/components/descriptions/) Display multiple read-only fields in groups. - - 🔥🔥🔥 [PageHeader](https://antdv.com/components/page-header/) can be used to declare the topic of the page, display important information about the page that the user is concerned about, and carry the operation items related to the current page. - - 🔥🔥🔥 [Result](https://antdv.com/components/result) is used to feedback the processing results of a series of operation tasks. - - 🔥🔥🔥 [FormModel](https://antdv.com/components/form-model) Form components that use v-model for automatic validation are more concise than v-decorator forms. -- 🔥 Descriptions supports vertical layout. -- 🔥 Progress.Circle supports gradient colors. -- 🔥 Progress.Line supports gradient colors. -- Breadcrumb - - 🎉 Breadcrumb.Item supports the `overlay` property to define drop-down menus. - - 🌟 Added `Breadcrumb.Separator` component, you can customize`separator`. -- 🌟 TreeSelect's `showSearch` supports multiple selection mode. -- 🌟 Timeline.Item adds `gray` color type, which can be used in incomplete or invalid state. -- 🌟 Modal supports `closeIcon` property for customizing the close icon. -- Upload - - 🌟 Upload provides `previewFile` property to customize the preview logic. - - 🌟 Upload adds `transformFile` to support converting files before uploading. - - 🌟 Upload supports previewing pictures in jfif format. - - 🌟 Added `showDownloadIcon` property for displaying download icons. -- 🌟 Input.Search adds `loading` property, which is used to display the loading status. -- 🌟 Grid's `gutter` property adds support for vertical spacing. Now you can set an array for`gutter`, the second value of the array represents the vertical spacing. -- 🌟 message Added support for updating content with unique `key`. -- 🌟 TextArea supports `allowClear`. -- 🌟 Dropdown.Button supports `icon` property to customize the icon. -- Drawer - - 🌟 Support `afterVisibleChange` property, which is triggered after the drawer animation is completed. - - 🌟 Support `ESC` shutdown. - - 🌟 Added `keyboard`, which allows the response to keyboard events to be turned on and off. -- 🌟 TreeNode supports `checkable` property. -- 🌟 Transfer supports `children` custom rendering list. -- 🌟 Pagination supports `disabled` property. -- 🌟 Steps support click to switch function. -- Slider - - 🌟 Support `tooltipPlacement` to define the location of the tip. - - 🌟 Support `getTooltipPopupContainer` to allow custom container for the prompt. - - 🌟 Flip `trigger` direction when Sider is on the right. -- 🌟 Calendar supports `headerRender` to customize header. -- 🌟 Carousel supports custom panel pointing point locations. -- 🌟 Collapse supports `expandIconPosition` property. -- 🌟 Popconfirm adds `disabled` props, which are used to control whether clicking child elements pop up. -- 🌟 Select supports `showArrow` in multi-select mode. -- 🌟 Collapse.Panel added `extra`. -- Card - - 🌟 Card component added `tabBarExtraContent` property. - - 🌟 Card.Grid added a hoverable property to allow floating effects to be disabled. -- 🌟 Anchor.Link adds `target` attribute. -- 🌟 TimePicker added `clearIcon` prop for custom clear icon. -- Form - - 🌟 Support to configure the `colon` property directly on the Form. - - 🌟 Support `labelAlign` property. -- Table - - 🌟 Table adds `getPopupContainer` property for setting various floating layer rendering nodes in the table. - - 💄 Adjust the style of the Table expand button. - - 🌟 Added `tableLayout` property, supports setting the table's`table-layout` layout, and enables `tableLayout =" fixed "` by default under fixed headers / columns, to solve the column alignment problem caused by the table layout automatically based on content . - - 🌟 Added `column.ellipsis` to support automatic omission of cell contents. - - 🌟 Added `scroll.scrollToFirstRowOnChange` property, which is used to set whether to scroll to the top of the table after page turning.   -Filter `filterDropdown` Added`visible` parameter to get the display status of the drop-down box. - - 🌟 The `title` method adds a`sortColumn` parameter to get the currently sorted column.   -Sort When sorting, the `sorter` parameter of`onChange` will always contain `column` information. -- 🌟 Tree component supports `blockNode` property. -- 🌟 RangePicker adds `separator` definition. -- Empty - - 🌟 Empty supports the `imageStyle` property. - - 🌟 Empty `description` supports`false`. - - 🌟 Empty Supports access to preset pictures via `Empty.PRESENTED_IMAGE_DEFAULT` and`Empty.PRESENTED_IMAGE_SIMPLE` -- 🌟 Badge supports custom colors. -- 🐞 Fix the problem that the label of Steps is not centered. -- 🐞 Fix cursor style problem of DatePicker and TimePicker. -- 🐞 Fix `TreeSelect` custom icon is invalid [#1901](https://github.com/vueComponent/ant-design-vue/issues/1901) -- 🐞 Fix `Tabs` keyboard left / right switching error [#1947](https://github.com/vueComponent/ant-design-vue/issues/1947) - -## 1.4.12 - -`2020-03-03` - -- 🐞 Fix ts type error of `Modal` component [#1809](https://github.com/vueComponent/ant-design-vue/issues/1809) - -## 1.4.11 - -`2020-02-12` - -- 🌟 DirectoryTree adds custom switcherIcon function [#1743](https://github.com/vueComponent/ant-design-vue/issues/1743) -- 🌟 Add draggable table column width [example](https://www.antdv.com/components/table/#components-table-demo-resizable-column) -- 🌟 Replace `this.$listeners` of all components to avoid repeated rendering of components [#1705](https://github.com/vueComponent/ant-design-vue/issues/1705) -- 🐞 Fix ConfigProvider component error report error [7a4003](https://github.com/vueComponent/ant-design-vue/commit/7a40031955d520487dcaf9054a1280ae72230049) -- 🐞 Fix placeholder does not disappear when custom input box of AutoComplete component [#1761](https://github.com/vueComponent/ant-design-vue/issues/1761) -- 🐞 Fix Statistic.Countdown does not trigger finish event [#1731](https://github.com/vueComponent/ant-design-vue/pull/1731) -- 🐞 Fix upload component preview image not refreshing [f74469](https://github.com/vueComponent/ant-design-vue/commit/f744690e929d9d6da03c5c513b3ac5497c6490ef) -- 🐞 Fix TimePicker id is not unique [#1566](https://github.com/vueComponent/ant-design-vue/pull/1566) -- 🐞 Fix Pagination pagination without animation [#1540](https://github.com/vueComponent/ant-design-vue/issues/1540) -- 🐞 Fix drop-down list does not show empty elements when Cascader's option is empty array [#1701](https://github.com/vueComponent/ant-design-vue/issues/1540) -- 🐞 Fix spellcheck rendering incorrect for Input component [#1707](https://github.com/vueComponent/ant-design-vue/issues/1707) -- 🐞 Fix Tree component cannot customize icon [#1712](https://github.com/vueComponent/ant-design-vue/pull/1712) -- 🐞 Fix SubMenu forceSubMenuRender property is invalid [#1668](https://github.com/vueComponent/ant-design-vue/issues/1668) -- 🐞 Fix style of upload button is misaligned [#1742](https://github.com/vueComponent/ant-design-vue/pull/1742) - -## 1.4.10 - -`2019-12-11` - -- 🐞 Fixed the left and right arrows of MonthPicker cannot be worked [#1543](https://github.com/vueComponent/ant-design-vue/issues/1543) - -## 1.4.9 - -`2019-12-10` - -- 🐞 Fix body scrolling issue when `Modal` is opened [#1472](https://github.com/vueComponent/ant-design-vue/issues/1472) -- 🐞 Fix `Drawer` wrapStyle not working [#1481](https://github.com/vueComponent/ant-design-vue/issues/1481) -- 🐞 Fix `InputNumber` id mount position is incorrect [#1477](https://github.com/vueComponent/ant-design-vue/issues/1477) -- 🐞 Fix `Tabs` nextClick event does not fire [#1489](https://github.com/vueComponent/ant-design-vue/pull/1489) -- 🐞 Fix `MonthPicker` cannot be changed in open state [#1510](https://github.com/vueComponent/ant-design-vue/issues/1510) -- 🐞 Fix the issue that `AutoComplete` does not disappear when entering Chinese [#1506](https://github.com/vueComponent/ant-design-vue/issues/1506) -- 🐞 Fix the problem that the content cannot pop up when referencing different Vue variables [6362bf](https://github.com/vueComponent/ant-design-vue/commit/6362bf9edb441c0c0096beca1d2c8727003dbb15) -- 🌟 `Table` `customRender` Add a third column parameter [#1513](https://github.com/vueComponent/ant-design-vue/pull/1513) -- 🌟 `InputPassword` adds focus and blur methods [#1485](https://github.com/vueComponent/ant-design-vue/pull/1485) -- 🐞 Fix `Tooltip` report error when using native html element [#1519](https://github.com/vueComponent/ant-design-vue/issues/1519) -- 🐞 Fix `Menu` report error in edge browser [#1492](https://github.com/vueComponent/ant-design-vue/issues/1492) -- 🐞 Fix empty centering of `Select` [#1445](https://github.com/vueComponent/ant-design-vue/pull/1445) -- 🐞 Fix popup window component memory leak problem [#1483](https://github.com/vueComponent/ant-design-vue/pull/1483) - -## 1.4.8 - -`2019-11-28` - -- 🐞 Fix `Menu` not trigger click event [#1470](https://github.com/vueComponent/ant-design-vue/issues/1470) -- 🐞 Fix `Tooltip` not hide in keep-alive [16ec40](https://github.com/vueComponent/ant-design-vue/commit/16ec40a012d7c400bf3028e6c938050dd6d7de2f) - -## 1.4.7 - -`2019-11-27` - -- 🌟 `getPopupContainer` of`ConfigProvider` Added popup context as the second parameter for uniform configuration of `getPopupContainer` in`Modal` [7a3c88](https://github.com/vueComponent/ant-design -vue / commit / 7a3c88107598b4b1cf6842d3254b43dc26103c14) -- 🐞 Fix `ConfigProvider` reporting error in Vue 2.5 [309baa](https://github.com/vueComponent/ant-design-vue/commit/309baa138a9c9a1885c17ef636c9132349024359) -- 🐞 Fix `Menu` click event is triggered twice [#1450](https://github.com/vueComponent/ant-design-vue/issues/1427) -- 🐞 Fix incorrect width of input box in `Select` [#1458](https://github.com/vueComponent/ant-design-vue/issues/1458) -- 🐞 Fix `Select` the problem that `placeholder` does not disappear when inputting Chinese [#1458](https://github.com/vueComponent/ant-design-vue/issues/1458#issuecomment-557477782) -- 🌟 Add the TS type declaration for the `Comment` component [#1453](https://github.com/vueComponent/ant-design-vue/pull/1453) - -## 1.4.6 - -`2019-11-20` - -- 🐞 Fix `Cascader` can't enter a space question [#1427](https://github.com/vueComponent/ant-design-vue/issues/1427) -- 🐞 Fix `AutoComplete` can't delete the last character [#1429](https://github.com/vueComponent/ant-design-vue/issues/1427) -- 🐞 Update `dbclick` in `Tree`'s `expandAction` to `dblclick` [#1437](https://github.com/vueComponent/ant-design-vue/issues/1437) -- 🐞 Update `dbclick` in the `Table` document to `dblclick` [#1437](https://github.com/vueComponent/ant-design-vue/issues/1437) -- 🌟 Add the TS type declaration for the `Empty` component [#1439](https://github.com/vueComponent/ant-design-vue/pull/1439) - -## 1.4.5 - -`2019-11-16` - -- 🌟 `Form` support `labelCol` `wrapperCol` for setting layout [#1365](https://github.com/vueComponent/ant-design-vue/pull/1365) -- 🌟 `Input` `Select` `DatePicker` trigger change event after input Chinese, reducing unnecessary performance consumption [#1281](https://github.com/vueComponent/ant-design-vue/issues/1281) -- 🐞 Fixed when the placeholder of `Input` `Select` is Chinese, the change event is automatically triggered under ie [#1387](https://github.com/vueComponent/ant-design-vue/issues/1387) -- Tree - - - 🌟 Add the `replaceFields` field to customize the `title` `children` [#1395](https://github.com/vueComponent/ant-design-vue/issues/1395) - - 🌟 update event `doubleclick` to `dbclick` [5e27ff](https://github.com/vueComponent/ant-design-vue/commit/5e27ff8da4419f490ab5c6ebeaf43d933519fcd7) - -- 🐞 Fix `Input` Delete content under ie9 does not trigger change event [#1421](https://github.com/vueComponent/ant-design-vue/issues/1421) -- 🐞 Fix `Dropdown` `disabled` invalid problem [#1400](https://github.com/vueComponent/ant-design-vue/issues/1400) -- 🐞 Fix Select type error when `lableInValue` [#1393](https://github.com/vueComponent/ant-design-vue/pull/1393) -- 🐞 Fix Comment style question [#1389](https://github.com/vueComponent/ant-design-vue/pull/1389) -- 🐞 Fix `Statistic` `Password` TypeScript type definition. - -## 1.4.4 - -`2019-10-30` - -- 🌟 Progress format support v-slot [#1348](https://github.com/vueComponent/ant-design-vue/issues/1348) -- 🐞 Fix RangePicker Year Panel not work [#1321](https://github.com/vueComponent/ant-design-vue/issues/1321) -- 🐞 Fix Pagination simple mode not work [#1333](https://github.com/vueComponent/ant-design-vue/issues/1333) -- 🐞 Fix AutoComplete flashing on fast input [#1327](https://github.com/vueComponent/ant-design-vue/issues/1327) -- 🐞 Fix Button loading mode is not centered [#1337](https://github.com/vueComponent/ant-design-vue/issues/1337) -- 🐞 Fix Menu menu collapsed in Chrome [#873](https://github.com/vueComponent/ant-design-vue/issues/873) -- 🐞 Fix Checkbox v-model parameter validation failure [#1356](https://github.com/vueComponent/ant-design-vue/issues/1356) -- 🐞 Fix Checkbox.Group error when update value to undefined [#1356](https://github.com/vueComponent/ant-design-vue/issues/1356) - -## 1.4.3 - -`2019-10-22` - -- 🐞 Fix Cascader component style issues caused by Input [#1293](https://github.com/vueComponent/ant-design-vue/issues/1280) -- 🐞 Fix some component can not use `