fix: merge

pull/1710/head
wangxueliang 2020-01-09 23:00:27 +08:00
commit 0834d52626
82 changed files with 337 additions and 230 deletions

7
.huskyrc Normal file
View File

@ -0,0 +1,7 @@
{
"hooks": {
"pre-commit": "pretty-quick --staged",
"pre-publish": "npm run lint",
"commit-msg": "commitlint -x @commitlint/config-conventional -e $GIT_PARAMS"
}
}

View File

@ -24,3 +24,6 @@ components/style/color/*.less
.gitattributes
.stylelintrc
.vcmrc
.logo
.npmrc.template
.huskyrc

View File

@ -40,7 +40,10 @@ describe('CheckboxGroup', () => {
it('does not trigger onChange callback of both Checkbox and CheckboxGroup when CheckboxGroup is disabled', () => {
const onChangeGroup = jest.fn();
const options = [{ label: 'Apple', value: 'Apple' }, { label: 'Pear', value: 'Pear' }];
const options = [
{ label: 'Apple', value: 'Apple' },
{ label: 'Pear', value: 'Pear' },
];
const groupWrapper = mount(
{
@ -95,7 +98,10 @@ describe('CheckboxGroup', () => {
});
it('passes prefixCls down to checkbox', () => {
const options = [{ label: 'Apple', value: 'Apple' }, { label: 'Orange', value: 'Orange' }];
const options = [
{ label: 'Apple', value: 'Apple' },
{ label: 'Orange', value: 'Orange' },
];
const wrapper = mount({
render() {
@ -106,7 +112,10 @@ describe('CheckboxGroup', () => {
expect(wrapper.html()).toMatchSnapshot();
});
it('should be controlled by value', async () => {
const options = [{ label: 'Apple', value: 'Apple' }, { label: 'Orange', value: 'Orange' }];
const options = [
{ label: 'Apple', value: 'Apple' },
{ label: 'Orange', value: 'Orange' },
];
const wrapper = mount(Checkbox.Group, {
propsData: { options },

View File

@ -1,4 +1,3 @@
/* eslint-disable import/prefer-default-export */
export function $$(className) {
return document.body.querySelectorAll(className);
}

View File

@ -162,7 +162,7 @@ const Drawer = {
return (
<div
class={`${prefixCls}-wrapper-body`}
style={{...containerStyle, ...wrapStyle}}
style={{ ...containerStyle, ...wrapStyle }}
onTransitionend={this.onDestroyTransitionEnd}
>
{this.renderHeader(prefixCls)}

View File

@ -96,7 +96,8 @@ export default {
const { help, validateStatus } = this.$props;
warning(
this.getControls(this.slotDefault, true).length <= 1 ||
(help !== undefined || validateStatus !== undefined),
help !== undefined ||
validateStatus !== undefined,
'`Form.Item` cannot generate `validateStatus` and `help` automatically, ' +
'while there are more than one `getFieldDecorator` in it.',
);

View File

@ -9,7 +9,12 @@ Demonstration of validation configuration for form controls which are not shown
</us>
<template>
<a-form id="components-form-demo-validate-other" :form="form" v-bind="formItemLayout" @submit="handleSubmit">
<a-form
id="components-form-demo-validate-other"
:form="form"
v-bind="formItemLayout"
@submit="handleSubmit"
>
<a-form-item label="Plain Text">
<span class="ant-form-text">
China

View File

@ -1,4 +1,3 @@
/* eslint-disable react/no-multi-comp */
import { mount } from '@vue/test-utils';
import Vue from 'vue';
import moment from 'moment';

View File

@ -218,7 +218,10 @@ describe('Radio', () => {
});
it('passes prefixCls down to radio', () => {
const options = [{ label: 'Apple', value: 'Apple' }, { label: 'Orange', value: 'Orange' }];
const options = [
{ label: 'Apple', value: 'Apple' },
{ label: 'Orange', value: 'Orange' },
];
const wrapper = mount(RadioGroup, {
propsData: {

View File

@ -21,7 +21,10 @@ describe('Table.filter', () => {
{
text: 'Title',
value: 'title',
children: [{ text: 'Designer', value: 'designer' }, { text: 'Coder', value: 'coder' }],
children: [
{ text: 'Designer', value: 'designer' },
{ text: 'Coder', value: 'coder' },
],
},
],
onFilter: filterFn,
@ -358,7 +361,10 @@ describe('Table.filter', () => {
title="name"
dataIndex="name"
key="name"
filters={[{ text: 'Jack', value: 'Jack' }, { text: 'Lucy', value: 'Lucy' }]}
filters={[
{ text: 'Jack', value: 'Jack' },
{ text: 'Lucy', value: 'Lucy' },
]}
filteredValue={this.filters.name}
onFilter={filterFn}
/>
@ -399,7 +405,10 @@ describe('Table.filter', () => {
title: 'Name',
dataIndex: 'name',
key: 'name',
filters: [{ text: 'Jack', value: 'Jack' }, { text: 'Lucy', value: 'Lucy' }],
filters: [
{ text: 'Jack', value: 'Jack' },
{ text: 'Lucy', value: 'Lucy' },
],
onFilter: filterFn,
filteredValue: ['Jack'],
},

View File

@ -20,6 +20,8 @@ import RowSelectionCustom from './row-selection-custom.md';
import RowSelection from './row-selection.md';
import Size from './size.md';
import Template from './template.md';
import ResizableColumn from './resizable-column';
import ResizableColumnString from '!raw-loader!./resizable-column';
import CN from '../index.zh-CN.md';
import US from '../index.en-US.md';
@ -83,6 +85,9 @@ export default {
<RowSelection />
<Size />
<Template />
<demo-container code={ResizableColumnString}>
<ResizableColumn />
</demo-container>
<api>
<template slot="cn">
<CN />

View File

@ -0,0 +1,142 @@
<cn>
#### 可伸缩列
集成 [vue-draggable-resizable](https://github.com/mauricius/vue-draggable-resizable)
</cn>
<us>
#### Resizable column
Implement resizable column by integrate with [vue-draggable-resizable](https://github.com/mauricius/vue-draggable-resizable).
</us>
<template>
<a-table bordered :columns="columns" :components="components" :dataSource="data">
<template v-slot:action>
<a href="javascript:;">Delete</a>
</template>
</a-table>
</template>
<script>
import Vue from 'vue';
import VueDraggableResizable from 'vue-draggable-resizable';
Vue.component('vue-draggable-resizable', VueDraggableResizable);
const columns = [
{
title: 'Date',
dataIndex: 'date',
width: 200,
},
{
title: 'Amount',
dataIndex: 'amount',
width: 100,
},
{
title: 'Type',
dataIndex: 'type',
width: 100,
},
{
title: 'Note',
dataIndex: 'note',
width: 100,
},
{
title: 'Action',
key: 'action',
scopedSlots: { customRender: 'action' },
},
];
const data = [
{
key: 0,
date: '2018-02-11',
amount: 120,
type: 'income',
note: 'transfer',
},
{
key: 1,
date: '2018-03-11',
amount: 243,
type: 'income',
note: 'transfer',
},
{
key: 2,
date: '2018-04-11',
amount: 98,
type: 'income',
note: 'transfer',
},
];
const draggingMap = {};
columns.forEach(col => {
draggingMap[col.key] = col.width;
});
const draggingState = Vue.observable(draggingMap);
const ResizeableTitle = (h, props, children) => {
let thDom = null;
const { key, ...restProps } = props;
const col = columns.find(col => {
const k = col.dataIndex || col.key;
return k === key;
});
if (!col.width) {
return <th {...restProps}>{children}</th>;
}
const onDrag = (x, y) => {
draggingState[key] = 0;
col.width = Math.max(x, 1);
};
const onDragstop = () => {
draggingState[key] = thDom.getBoundingClientRect().width;
};
return (
<th {...restProps} v-ant-ref={r => (thDom = r)} width={col.width} class="resize-table-th">
{children}
<vue-draggable-resizable
key={col.key}
class="table-draggable-handle"
w={10}
x={draggingState[key] || col.width}
z={1}
axis="x"
draggable={true}
resizable={false}
onDragging={onDrag}
onDragstop={onDragstop}
></vue-draggable-resizable>
</th>
);
};
export default {
name: 'App',
data() {
this.components = {
header: {
cell: ResizeableTitle,
},
};
return {
data,
columns,
};
},
};
</script>
<style lang="less">
.resize-table-th {
position: relative;
.table-draggable-handle {
height: 100% !important;
bottom: 0;
left: auto !important;
right: -5px;
cursor: col-resize;
touch-action: none;
}
}
</style>

View File

@ -1,40 +1,3 @@
```jsx
const dataSource = [
{
key: '1',
name: 'Mike',
age: 32,
address: '10 Downing Street',
},
{
key: '2',
name: 'John',
age: 42,
address: '10 Downing Street',
},
];
const columns = [
{
title: 'Name',
dataIndex: 'name',
key: 'name',
},
{
title: 'Age',
dataIndex: 'age',
key: 'age',
},
{
title: 'Address',
dataIndex: 'address',
key: 'address',
},
];
<Table dataSource={dataSource} columns={columns} />;
```
## API
### Table

View File

@ -1,40 +1,3 @@
```jsx
const dataSource = [
{
key: '1',
name: '胡彦斌',
age: 32,
address: '西湖区湖底公园1号',
},
{
key: '2',
name: '胡彦祖',
age: 42,
address: '西湖区湖底公园1号',
},
];
const columns = [
{
title: '姓名',
dataIndex: 'name',
key: 'name',
},
{
title: '年龄',
dataIndex: 'age',
key: 'age',
},
{
title: '住址',
dataIndex: 'address',
key: 'address',
},
];
<Table dataSource={dataSource} columns={columns} />;
```
## API
### Table
@ -69,11 +32,11 @@ const columns = [
### 事件
| 事件名称 | 说明 | 回调参数 |
| ------------------ | -------------------------- | ------------------------------------- |
| expandedRowsChange | 展开的行变化时触发 | Function(expandedRows) |
| change | 分页、排序、筛选变化时触发 | Function(pagination, filters, sorter, { currentDataSource }) |
| expand | 点击展开图标时触发 | Function(expanded, record) |
| 事件名称 | 说明 | 回调参数 |
| --- | --- | --- |
| expandedRowsChange | 展开的行变化时触发 | Function(expandedRows) |
| change | 分页、排序、筛选变化时触发 | Function(pagination, filters, sorter, { currentDataSource }) |
| expand | 点击展开图标时触发 | Function(expanded, record) |
#### customRow 用法

View File

@ -171,7 +171,10 @@ export default {
},
setUncontrolledState(state) {
const newState = omit(state, Object.keys(getOptionProps(this)).map(p => `_${p}`));
const newState = omit(
state,
Object.keys(getOptionProps(this)).map(p => `_${p}`),
);
if (Object.keys(newState).length) {
this.setState(newState);
}

View File

@ -161,14 +161,7 @@ export default {
return treeData.map(item => {
const key = item[replaceFields.key];
const children = item[replaceFields.children];
const {
on = {},
slots = {},
scopedSlots = {},
class: cls,
style,
...restProps
} = item;
const { on = {}, slots = {}, scopedSlots = {}, class: cls, style, ...restProps } = item;
const treeNodeProps = {
...restProps,
icon:

View File

@ -38,7 +38,7 @@ export default {
<md cn={md.cn} us={md.us} />
<BasicControlled />
<Basic />
<ReplaceFields/>
<ReplaceFields />
<CustomizedIcon />
<Draggable />
<Dynamic />

View File

@ -64,8 +64,8 @@ One of the Tree `treeNode` prop for describing the tree's node, TreeNode has the
### DirectoryTree props
| Property | Description | Type | Default |
| ------------ | ------------------------------------------------------------ | ------ | ------- |
| Property | Description | Type | Default |
| ------------ | ------------------------------------------------------------- | ------ | ------- |
| expandAction | Directory open logic, optional `false` `'click'` `'dblclick'` | string | click |
## FAQ

View File

@ -5,7 +5,7 @@
| 参数 | 说明 | 类型 | 默认值 |
| --- | --- | --- | --- |
| treeData | 节点的配置描述,具体项见下表, 1.1.4 之前的版本使用`treeNodes` | array | -- |
| replaceFields | 替换treeNode中 title,key,children字段为treeData中对应的字段 | object |{children:'children', title:'title', key:'key' } |
| replaceFields | 替换 treeNode 中 title,key,children 字段为 treeData 中对应的字段 | object | {children:'children', title:'title', key:'key' } |
| autoExpandParent | 是否自动展开父节点 | boolean | true |
| checkable | 节点前添加 Checkbox 复选框 | boolean | false |
| checkedKeys(v-model) | (受控)选中复选框的树节点(注意:父子节点有关联,如果传入父节点 key则子节点自动选中相应当子节点 key 都传入,父节点也自动选中。当设置`checkable`和`checkStrictly`,它是一个有`checked`和`halfChecked`属性的对象,并且父子节点的选中与否不再关联 | string\[] \| number\[] \| {checked: string\[] \| number\[], halfChecked: string\[] \| number\[]} | \[] |
@ -64,8 +64,8 @@
### DirectoryTree props
| 参数 | 说明 | 类型 | 默认值 |
| ------------ | ------------------------------------------------ | ------ | ------ |
| 参数 | 说明 | 类型 | 默认值 |
| ------------ | ------------------------------------------------- | ------ | ------ |
| expandAction | 目录展开逻辑,可选 `false` `'click'` `'dblclick'` | string | click |
## FAQ

View File

@ -1,5 +1,5 @@
<script>
/* eslint react/no-multi-comp:0, no-console:0, no-unused-vars:0 */
/* eslint no-console:0, no-unused-vars:0 */
import '../assets/index.less';
import PropTypes from '@/components/_util/vue-types';

View File

@ -1,5 +1,5 @@
<script>
/* eslint react/no-multi-comp:0, no-console:0 */
/* eslint no-console:0 */
import '../assets/index.less';
import PropTypes from '@/components/_util/vue-types';
import DatePicker from '../src/Picker';

View File

@ -1,5 +1,5 @@
<script>
/* eslint react/no-multi-comp:0, no-console:0, no-unused-vars:0 */
/* eslint no-console:0, no-unused-vars:0 */
import '../assets/index.less';
import '@/components/vc-time-picker/assets/index.less';

View File

@ -1,5 +1,5 @@
<script>
/* eslint react/no-multi-comp:0, no-console:0 */
/* eslint no-console:0 */
import '../assets/index.less';
import zhCN from '../src/locale/zh_CN';
import enUS from '../src/locale/en_US';

View File

@ -155,7 +155,11 @@ export default {
},
handleChange(options, setProps, e) {
if (e.type !== 'keydown' || e.keyCode === KeyCode.ENTER) {
this.__emit('change', options.map(o => o[this.getFieldName('value')]), options);
this.__emit(
'change',
options.map(o => o[this.getFieldName('value')]),
options,
);
this.setPopupVisible(setProps.visible);
}
},

View File

@ -10,7 +10,6 @@ const IDialogPropTypes = getDialogPropTypes();
let uuid = 0;
/* eslint react/no-is-mounted:0 */
function noop() {}
function getScroll(w, top) {
let ret = w[`page${top ? 'Y' : 'X'}Offset`];
@ -111,7 +110,7 @@ export default {
},
updatedCallback(visible) {
const mousePosition = this.mousePosition;
const {mask, focusTriggerAfterClose} = this;
const { mask, focusTriggerAfterClose } = this;
if (this.visible) {
// first show
if (!visible) {
@ -375,7 +374,7 @@ export default {
cacheOverflow = {
overflowX: document.body.style.overflowX,
overflowY: document.body.style.overflowY,
overflow: document.body.style.overflow,
overflow: document.body.style.overflow,
};
switchScrollingEffect();
// Must be set after switchScrollingEffect
@ -383,7 +382,7 @@ export default {
} else if (!openCount) {
// IE browser doesn't merge overflow style, need to set it separately
// https://github.com/ant-design/ant-design/issues/19393
if (cacheOverflow.overflow !== undefined) {
if (cacheOverflow.overflow !== undefined) {
document.body.style.overflow = cacheOverflow.overflow;
}
if (cacheOverflow.overflowX !== undefined) {

View File

@ -1,4 +1,4 @@
/* eslint react/no-multi-comp:0, no-console:0 */
/* eslint no-console:0 */
import { createForm } from '../index';
import { regionStyle, errorStyle } from './styles';

View File

@ -1,4 +1,4 @@
/* eslint react/no-multi-comp:0, no-console:0 */
/* eslint no-console:0 */
import { createForm } from '../index';
import BaseMixin from '../../_util/BaseMixin';

View File

@ -1,4 +1,4 @@
/* eslint react/no-multi-comp:0, no-console:0 */
/* eslint no-console:0 */
import { createForm } from '../index';
import { regionStyle, errorStyle } from './styles';

View File

@ -1,4 +1,4 @@
/* eslint react/no-multi-comp:0, no-console:0 */
/* eslint no-console:0 */
import { createForm } from '../index';
import { regionStyle, errorStyle } from './styles';

View File

@ -1,4 +1,4 @@
/* eslint react/no-multi-comp:0, no-console:0 */
/* eslint no-console:0 */
import { createForm } from '../index';

View File

@ -1,4 +1,4 @@
/* eslint react/no-multi-comp:0, no-console:0 */
/* eslint no-console:0 */
import BaseMixin from '../../_util/BaseMixin';
import createDOMForm from '../src/createDOMForm';

View File

@ -1,4 +1,4 @@
/* eslint react/no-multi-comp:0, no-console:0 */
/* eslint no-console:0 */
import createForm from '../src/createDOMForm';

View File

@ -1,4 +1,4 @@
/* eslint react/no-multi-comp:0, no-console:0 */
/* eslint no-console:0 */
import { createForm } from '../index';
import { regionStyle, errorStyle } from './styles';

View File

@ -1,4 +1,4 @@
/* eslint react/no-multi-comp:0, no-console:0 */
/* eslint no-console:0 */
import createDOMForm from '../src/createDOMForm';
import { DatePicker, Select } from 'ant-design-vue';

View File

@ -1,4 +1,4 @@
/* eslint react/no-multi-comp:0, no-console:0 */
/* eslint no-console:0 */
import { createForm } from '../index';
import { regionStyle } from './styles';

View File

@ -1,4 +1,4 @@
/* eslint react/no-multi-comp:0, no-console:0 */
/* eslint no-console:0 */
import { createForm } from '../index';
import { Select } from 'ant-design-vue';

View File

@ -1,4 +1,4 @@
/* eslint react/no-multi-comp:0, no-console:0 */
/* eslint no-console:0 */
import { createForm } from '../index';
import { regionStyle, errorStyle } from './styles';

View File

@ -1,4 +1,4 @@
/* eslint react/no-multi-comp:0, no-console:0 */
/* eslint no-console:0 */
import { createForm } from '../index';
import { regionStyle, errorStyle } from './styles';

View File

@ -622,7 +622,13 @@ const Select = {
if (value.length) {
hidden = true;
}
if (!state._mirrorInputValue && isCombobox(props) && value.length === 1 && (state._value && !state._value[0])) {
if (
!state._mirrorInputValue &&
isCombobox(props) &&
value.length === 1 &&
state._value &&
!state._value[0]
) {
hidden = false;
}
const placeholder = props.placeholder;

View File

@ -40,8 +40,8 @@ export default {
[`${prefixCls}-icon`]: true,
[`${iconPrefix}icon`]: true,
[`${iconPrefix}icon-${icon}`]: icon && isString(icon),
[`${iconPrefix}icon-check`]: !icon && status === 'finish' && (icons && !icons.finish),
[`${iconPrefix}icon-close`]: !icon && status === 'error' && (icons && !icons.error),
[`${iconPrefix}icon-check`]: !icon && status === 'finish' && icons && !icons.finish,
[`${iconPrefix}icon-close`]: !icon && status === 'error' && icons && !icons.error,
};
const iconDot = <span class={`${prefixCls}-icon-dot`} />;
// `progressDot` enjoy the highest priority

View File

@ -1,4 +1,4 @@
/* eslint-disable no-console,func-names,react/no-multi-comp */
/* eslint-disable no-console,func-names */
import Table from '../index';
import '../assets/index.less';

View File

@ -1,4 +1,4 @@
/* eslint-disable no-console,func-names,react/no-multi-comp */
/* eslint-disable no-console,func-names */
import Table from '../index';
import '../assets/index.less';

View File

@ -1,4 +1,4 @@
/* eslint-disable no-console,func-names,react/no-multi-comp */
/* eslint-disable no-console,func-names */
import Table from '../index';
import '../assets/index.less';

View File

@ -1,4 +1,4 @@
/* eslint-disable no-console,func-names,react/no-multi-comp */
/* eslint-disable no-console,func-names */
import Table from '../index';
import '../assets/index.less';
import BaseMixin from '../../_util/BaseMixin';

View File

@ -1,4 +1,4 @@
/* eslint-disable no-console,func-names,react/no-multi-comp */
/* eslint-disable no-console,func-names */
import Table from '../index';
import '../assets/index.less';
import Menu from '../../menu';

View File

@ -1,4 +1,4 @@
/* eslint-disable no-console,func-names,react/no-multi-comp */
/* eslint-disable no-console,func-names */
import Table from '../index';
import '../assets/index.less';

View File

@ -1,4 +1,4 @@
/* eslint-disable no-console,func-names,react/no-multi-comp */
/* eslint-disable no-console,func-names */
import Table from '../index';
import '../assets/index.less';

View File

@ -1,4 +1,4 @@
/* eslint-disable no-console,func-names,react/no-multi-comp */
/* eslint-disable no-console,func-names */
import Table from '../index';
import '../assets/index.less';

View File

@ -1,4 +1,4 @@
/* eslint-disable no-console,func-names,react/no-multi-comp */
/* eslint-disable no-console,func-names */
import Table from '../index';
import '../assets/index.less';

View File

@ -1,4 +1,4 @@
/* eslint-disable no-console,func-names,react/no-multi-comp */
/* eslint-disable no-console,func-names */
import Table from '../index';
import '../assets/index.less';

View File

@ -1,4 +1,4 @@
/* eslint-disable no-console,func-names,react/no-multi-comp */
/* eslint-disable no-console,func-names */
import Table from '../index';
import '../assets/index.less';

View File

@ -1,4 +1,4 @@
/* eslint-disable no-console,func-names,react/no-multi-comp */
/* eslint-disable no-console,func-names */
import Table from '../index';
import '../assets/index.less';
import '../assets/bordered.less';

View File

@ -1,4 +1,4 @@
/* eslint-disable no-console,func-names,react/no-multi-comp */
/* eslint-disable no-console,func-names */
import Table from '../index';
import '../assets/index.less';

View File

@ -1,4 +1,4 @@
/* eslint-disable no-console,func-names,react/no-multi-comp */
/* eslint-disable no-console,func-names */
import Table from '../index';
import '../assets/index.less';

View File

@ -1,4 +1,4 @@
/* eslint-disable no-console,func-names,react/no-multi-comp */
/* eslint-disable no-console,func-names */
import Table from '../index';
import '../assets/index.less';

View File

@ -1,4 +1,4 @@
/* eslint-disable no-console,func-names,react/no-multi-comp */
/* eslint-disable no-console,func-names */
import Table from '../index';
import '../assets/index.less';

View File

@ -1,4 +1,4 @@
/* eslint-disable no-console,func-names,react/no-multi-comp */
/* eslint-disable no-console,func-names */
import Table from '../index';
import '../assets/index.less';

View File

@ -1,4 +1,4 @@
/* eslint-disable no-console,func-names,react/no-multi-comp */
/* eslint-disable no-console,func-names */
import Table from '../index';
import '../assets/index.less';

View File

@ -1,4 +1,4 @@
/* eslint-disable no-console,func-names,react/no-multi-comp */
/* eslint-disable no-console,func-names */
import Table from '../index';
import '../assets/index.less';

View File

@ -1,4 +1,4 @@
/* eslint-disable no-console,func-names,react/no-multi-comp */
/* eslint-disable no-console,func-names */
import Table from '../index';
import '../assets/index.less';

View File

@ -1,4 +1,4 @@
/* eslint-disable no-console,func-names,react/no-multi-comp */
/* eslint-disable no-console,func-names */
import Table from '../index';
import '../assets/index.less';

View File

@ -20,7 +20,10 @@ const TableHeaderRow = {
const { row, index, height, components, customHeaderRow, prefixCls } = this;
const HeaderRow = components.header.row;
const HeaderCell = components.header.cell;
const rowProps = customHeaderRow(row.map(cell => cell.column), index);
const rowProps = customHeaderRow(
row.map(cell => cell.column),
index,
);
const customStyle = rowProps ? rowProps.style : {};
const style = { height, ...customStyle };
if (style.height === null) {

View File

@ -72,7 +72,6 @@ export default {
return;
}
// wait next, prev show hide
/* eslint react/no-did-update-set-state:0 */
if (this.isNextPrevShown(this.$data) !== this.isNextPrevShown(this.setNextPrev())) {
this.$forceUpdate();
this.$nextTick(() => {

View File

@ -1,4 +1,4 @@
/* eslint react/no-multi-comp:0, no-console:0, no-alert: 0 */
/* eslint no-console:0, no-alert: 0 */
import BaseMixin from '../../_util/BaseMixin';
import '../assets/index.less';
import '../../vc-dialog/assets/index.less';

View File

@ -1,4 +1,4 @@
/* eslint react/no-multi-comp:0, no-console:0 */
/* eslint no-console:0 */
import '../assets/index.less';
import './demo.less';

View File

@ -1,4 +1,4 @@
/* eslint react/no-multi-comp:0, no-console:0, no-alert: 0 */
/* eslint no-console:0, no-alert: 0 */
import BaseMixin from '../../_util/BaseMixin';
import '../assets/index.less';

View File

@ -1,4 +1,4 @@
/* eslint react/no-multi-comp:0, no-console:0, no-alert: 0 */
/* eslint no-console:0, no-alert: 0 */
import '../assets/index.less';
import '../../vc-dialog/assets/index.less';

View File

@ -1,4 +1,4 @@
/* eslint react/no-multi-comp:0, no-console:0 */
/* eslint no-console:0 */
import BaseMixin from '../../_util/BaseMixin';
import '../assets/index.less';
import TreeSelect from '../src/index';

View File

@ -1,5 +1,3 @@
/* eslint react/no-multi-comp:0, no-console:0 */
import BaseMixin from '../../_util/BaseMixin';
import '../assets/index.less';
import TreeSelect from '../src/index';

View File

@ -1,5 +1,3 @@
/* eslint react/no-multi-comp:0, no-console:0 */
import '../assets/index.less';
import TreeSelect, { SHOW_PARENT } from '../index';
import { gData } from './util';

View File

@ -123,7 +123,7 @@ const BasePopup = {
_keyList: [],
_expandedKeyList: expandedKeyList,
// Cache `expandedKeyList` when tree is in filter. This is used in `getDerivedStateFromProps`
_cachedExpandedKeyList: [], // eslint-disable-line react/no-unused-state
_cachedExpandedKeyList: [],
_loadedKeys: [],
_prevProps: {},
};

View File

@ -58,7 +58,6 @@ export default {
mounted() {
this.$nextTick(() => {
if (this.supportServerRender) {
/* eslint react/no-did-mount-set-state:0 */
this.setState(
{
Component: this.getComponent(),

View File

@ -21,8 +21,8 @@ There are some major variables below, all less variables could be found in [Defa
@font-size-base: 14px; // major text font size
@heading-color: rgba(0, 0, 0, 0.85); // heading text color
@text-color: rgba(0, 0, 0, 0.65); // major text color
@text-color-secondary : rgba(0, 0, 0, .45); // secondary text color
@disabled-color : rgba(0, 0, 0, .25); // disable state color
@text-color-secondary: rgba(0, 0, 0, 0.45); // secondary text color
@disabled-color: rgba(0, 0, 0, 0.25); // disable state color
@border-radius-base: 4px; // major border radius
@border-color-base: #d9d9d9; // major border color
@box-shadow-base: 0 2px 8px rgba(0, 0, 0, 0.15); // major shadow for layers

View File

@ -21,8 +21,8 @@ antd 的样式使用了 [Less](http://lesscss.org/) 作为开发语言,并定
@font-size-base: 14px; // 主字号
@heading-color: rgba(0, 0, 0, 0.85); // 标题色
@text-color: rgba(0, 0, 0, 0.65); // 主文本色
@text-color-secondary : rgba(0, 0, 0, .45); // 次文本色
@disabled-color : rgba(0, 0, 0, .25); // 失效色
@text-color-secondary: rgba(0, 0, 0, 0.45); // 次文本色
@disabled-color: rgba(0, 0, 0, 0.25); // 失效色
@border-radius-base: 4px; // 组件/浮层圆角
@border-color-base: #d9d9d9; // 边框色
@box-shadow-base: 0 2px 8px rgba(0, 0, 0, 0.15); // 浮层阴影

View File

@ -41,7 +41,6 @@
"dist": "node antd-tools/cli/run.js dist",
"lint": "eslint -c ./.eslintrc --fix --ext .jsx,.js,.vue ./components",
"lint:style": "stylelint \"{site,components}/**/*.less\" --syntax less",
"commitmsg": "commitlint -x @commitlint/config-conventional -e $GIT_PARAMS",
"codecov": "codecov",
"postinstall": "node scripts/postinstall || echo \"ignore\""
},
@ -54,25 +53,20 @@
"url": "https://github.com/vueComponent/ant-design-vue/issues"
},
"homepage": "https://www.antdv.com/",
"husky": {
"hooks": {
"pre-commit": "pretty-quick --staged"
}
},
"peerDependencies": {
"vue": ">=2.6.6",
"vue-template-compiler": ">=2.6.6"
"vue": ">=2.6.0",
"vue-template-compiler": ">=2.6.0"
},
"devDependencies": {
"@commitlint/cli": "^6.2.0",
"@commitlint/config-conventional": "^6.1.3",
"@octokit/rest": "^15.4.1",
"@vue/cli-plugin-eslint": "^3.0.5",
"@commitlint/cli": "^8.0.0",
"@commitlint/config-conventional": "^8.0.0",
"@octokit/rest": "^16.0.0",
"@vue/cli-plugin-eslint": "^4.0.0",
"@vue/server-test-utils": "1.0.0-beta.16",
"@vue/test-utils": "1.0.0-beta.16",
"acorn": "^6.0.5",
"acorn": "^7.0.0",
"autoprefixer": "^9.6.0",
"axios": "^0.18.0",
"axios": "^0.19.0",
"babel-cli": "^6.26.0",
"babel-core": "^6.26.0",
"babel-eslint": "^10.0.1",
@ -81,7 +75,7 @@
"babel-loader": "^7.1.2",
"babel-plugin-import": "^1.1.1",
"babel-plugin-inline-import-data-uri": "^1.0.1",
"babel-plugin-istanbul": "^4.1.1",
"babel-plugin-istanbul": "^6.0.0",
"babel-plugin-syntax-dynamic-import": "^6.18.0",
"babel-plugin-syntax-jsx": "^6.18.0",
"babel-plugin-transform-class-properties": "^6.24.1",
@ -96,45 +90,45 @@
"babel-polyfill": "^6.26.0",
"babel-preset-env": "^1.6.1",
"case-sensitive-paths-webpack-plugin": "^2.1.2",
"chalk": "^2.3.2",
"chalk": "^3.0.0",
"cheerio": "^1.0.0-rc.2",
"codecov": "^3.0.0",
"colorful": "^2.1.0",
"commander": "^2.15.0",
"commander": "^4.0.0",
"compare-versions": "^3.3.0",
"cross-env": "^5.1.4",
"css-loader": "^0.28.7",
"cross-env": "^6.0.0",
"css-loader": "^3.0.0",
"deep-assign": "^2.0.0",
"enquire-js": "^0.2.1",
"eslint": "^5.8.0",
"eslint-config-prettier": "^3.0.1",
"eslint-plugin-html": "^3.2.2",
"eslint": "^6.0.0",
"eslint-config-prettier": "^6.0.0",
"eslint-plugin-html": "^6.0.0",
"eslint-plugin-markdown": "^1.0.0",
"eslint-plugin-vue": "^5.1.0",
"eslint-plugin-vue": "^6.0.0",
"fetch-jsonp": "^1.1.3",
"fs-extra": "^7.0.0",
"fs-extra": "^8.0.0",
"glob": "^7.1.2",
"gulp": "^4.0.1",
"gulp-babel": "^7.0.0",
"gulp-babel": "^8.0.0",
"gulp-strip-code": "^0.1.4",
"highlight.js": "^9.12.0",
"html-webpack-plugin": "^3.2.0",
"husky": "^0.14.3",
"husky": "^3.1.0",
"istanbul-instrumenter-loader": "^3.0.0",
"jest": "^24.0.0",
"jest-serializer-vue": "^1.0.0",
"jest-serializer-vue": "^2.0.0",
"jest-transform-stub": "^2.0.0",
"js-base64": "^2.4.8",
"jsonp": "^0.2.1",
"less": "^3.9.0",
"less-loader": "^4.1.0",
"less-loader": "^5.0.0",
"less-plugin-npm-import": "^2.1.0",
"lint-staged": "^7.2.2",
"markdown-it": "^8.4.0",
"markdown-it-anchor": "^4.0.0",
"marked": "^0.3.7",
"lint-staged": "^9.0.0",
"markdown-it": "^10.0.0",
"markdown-it-anchor": "^5.0.0",
"marked": "0.3.18",
"merge2": "^1.2.1",
"mini-css-extract-plugin": "^0.5.0",
"mini-css-extract-plugin": "^0.9.0",
"minimist": "^1.2.0",
"mkdirp": "^0.5.1",
"mockdate": "^2.0.2",
@ -142,41 +136,41 @@
"optimize-css-assets-webpack-plugin": "^5.0.1",
"postcss": "^7.0.6",
"postcss-loader": "^3.0.0",
"pre-commit": "^1.2.2",
"prettier": "^1.18.2",
"pretty-quick": "^1.11.1",
"pretty-quick": "^2.0.0",
"querystring": "^0.2.0",
"raw-loader": "^1.0.0-beta.0",
"raw-loader": "^4.0.0",
"reqwest": "^2.0.5",
"rimraf": "^2.6.2",
"rimraf": "^3.0.0",
"rucksack-css": "^1.0.2",
"selenium-server": "^3.0.1",
"semver": "^5.3.0",
"style-loader": "^0.18.2",
"stylelint": "^9.10.1",
"stylelint-config-prettier": "^4.0.0",
"stylelint-config-standard": "^18.2.0",
"through2": "^2.0.3",
"semver": "^7.0.0",
"style-loader": "^1.0.0",
"stylelint": "^12.0.0",
"stylelint-config-prettier": "^8.0.0",
"stylelint-config-standard": "^19.0.0",
"through2": "^3.0.0",
"uglifyjs-webpack-plugin": "^2.1.1",
"url-loader": "^1.1.2",
"vue": "^2.6.6",
"url-loader": "^3.0.0",
"vue": "^2.6.11",
"vue-antd-md-loader": "^1.1.0",
"vue-clipboard2": "0.0.8",
"vue-eslint-parser": "^5.0.0",
"vue-clipboard2": "0.3.1",
"vue-draggable-resizable": "^2.1.0",
"vue-eslint-parser": "^7.0.0",
"vue-i18n": "^8.3.2",
"vue-infinite-scroll": "^2.0.2",
"vue-jest": "^2.5.0",
"vue-loader": "^15.6.2",
"vue-router": "^3.0.1",
"vue-server-renderer": "^2.6.6",
"vue-template-compiler": "^2.6.6",
"vue-server-renderer": "^2.6.11",
"vue-template-compiler": "^2.6.11",
"vue-virtual-scroller": "^0.12.0",
"vuex": "^3.1.0",
"webpack": "^4.28.4",
"webpack-cli": "^3.2.1",
"webpack-dev-server": "^3.1.14",
"webpack-merge": "^4.1.1",
"webpackbar": "^3.1.5",
"webpackbar": "^4.0.0",
"xhr-mock": "^2.5.1"
},
"dependencies": {
@ -195,7 +189,7 @@
"enquire.js": "^2.1.6",
"intersperse": "^1.0.0",
"is-negative-zero": "^2.0.0",
"ismobilejs": "^0.5.1",
"ismobilejs": "^1.0.0",
"json2mq": "^0.2.0",
"lodash": "^4.17.5",
"moment": "^2.21.0",
@ -207,7 +201,7 @@
"shallow-equal": "^1.0.0",
"shallowequal": "^1.0.2",
"vue-ref": "^1.0.4",
"warning": "^3.0.0"
"warning": "^4.0.0"
},
"sideEffects": [
"site/*",

View File

@ -1,5 +1,3 @@
{
"extends": [
"config:base"
]
"extends": ["config:base", ":preserveSemverRanges"]
}

View File

@ -118,6 +118,12 @@ export default {
</a-col>
</a-row>
</div>
<div style="padding: 10px 144px;">
备案号
<a href="http://www.beian.miit.gov.cn/" target="_blank">
浙ICP备19034671号
</a>
</div>
</footer>
);
},

View File

@ -12,7 +12,7 @@ import Api from './components/api';
import './components';
import demoBox from './components/demoBox';
import demoContainer from './components/demoContainer';
import Test from '../components/empty/demo/index.vue';
import Test from '../components/table/demo/index.vue';
import zhCN from './theme/zh-CN';
import enUS from './theme/en-US';
Vue.use(Vuex);

1
types/empty.d.ts vendored
View File

@ -18,5 +18,4 @@ export declare class Empty extends AntdComponent {
* @type string | VNode
*/
image: string | VNode;
}

View File

@ -16,7 +16,7 @@ export declare class Tree extends AntdComponent {
*/
treeData: TreeNode[];
/**
/**
*
*@description Replace the title,key and children fields in treeNode with the corresponding fields in treeData
*/