diff --git a/docs/renderers/Form/Checkboxes.md b/docs/renderers/Form/Checkboxes.md
index 979c1cd3..b3963672 100644
--- a/docs/renderers/Form/Checkboxes.md
+++ b/docs/renderers/Form/Checkboxes.md
@@ -11,6 +11,8 @@
- `extractValue` 默认为 `false`, `joinValues`设置为`false`时生效, 开启后将选中的选项 value 的值封装为数组,作为当前表单项的值。
- `delimiter` 默认为 `,`
- `columnsCount` 默认为 `1` 可以配置成一行显示多个。
+- `checkAll` 默认为 `false` 开启后支持全选
+- `defaultCheckAll` 是否默认全选,默认为`false`
- **还有更多通用配置请参考** [FormItem](./FormItem.md)
```schema:height="330" scope="form"
diff --git a/docs/renderers/Form/Color.md b/docs/renderers/Form/Color.md
index 3fb47ebc..42cd3f3c 100644
--- a/docs/renderers/Form/Color.md
+++ b/docs/renderers/Form/Color.md
@@ -4,6 +4,8 @@
- `type` 请设置成 `color`
- `format` 请选择 `hex`、`hls`、`rgb`或者`rgba`。默认为 `hex`。
+- `presetColors` 选择器底部的默认颜色
+ - 默认为`['#D0021B', '#F5A623', '#F8E71C', '#8B572A', '#7ED321', '#417505', '#BD10E0', '#9013FE', '#4A90E2', '#50E3C2', '#B8E986', '#000000', '#4A4A4A', '#9B9B9B', '#FFFFFF']`,数组内为空则不显示默认颜色
- `clearable` 是否显示清除按钮。
```schema:height="400" scope="form-item"
diff --git a/scss/components/_table.scss b/scss/components/_table.scss
index 16d09548..4d1ee401 100644
--- a/scss/components/_table.scss
+++ b/scss/components/_table.scss
@@ -134,6 +134,7 @@
&-content {
min-height: 0.01%;
overflow-x: auto;
+ transform: translateZ(0);
}
&-table {
diff --git a/src/components/ColorPicker.tsx b/src/components/ColorPicker.tsx
index 5de0ac20..e36986a0 100644
--- a/src/components/ColorPicker.tsx
+++ b/src/components/ColorPicker.tsx
@@ -27,6 +27,7 @@ export interface ColorProps {
classPrefix: string;
classnames: ClassNamesFn;
onChange: (value: any) => void;
+ presetColors?: string[];
}
export interface ColorControlState {
@@ -178,6 +179,7 @@ export class ColorControl extends React.PureComponent
diff --git a/src/components/Radios.tsx b/src/components/Radios.tsx
index d7fabab0..2326f35d 100644
--- a/src/components/Radios.tsx
+++ b/src/components/Radios.tsx
@@ -43,7 +43,14 @@ export class Radios extends React.Component {
};
toggleOption(option: Option) {
- const {value, onChange, joinValues, extractValue, valueField, clearable, delimiter, options} = this.props;
+ const {
+ value,
+ onChange,
+ valueField,
+ clearable,
+ delimiter,
+ options
+ } = this.props;
let valueArray = value2array(value, {
multiple: false,
@@ -61,14 +68,6 @@ export class Radios extends React.Component {
let newValue = valueArray[0];
- if (newValue && (joinValues || extractValue)) {
- newValue = newValue[valueField || 'value'];
- }
-
- // if (joinValues && newValue) {
- // newValue = newValue[valueField || 'value'];
- // }
-
onChange && onChange(newValue);
}
diff --git a/src/components/Select.tsx b/src/components/Select.tsx
index a291f12c..90778015 100644
--- a/src/components/Select.tsx
+++ b/src/components/Select.tsx
@@ -44,6 +44,7 @@ export interface OptionProps {
delimiter?: string;
clearable?: boolean;
placeholder?: string;
+ autoFill?: {[propName:string]: any}
}
export type OptionValue = string | number | null | undefined | Option;
@@ -482,17 +483,12 @@ export class Select extends React.Component {
if (
inputValue &&
creatable &&
- (!filtedOptions.length ||
- (isOpen &&
- loadOptions &&
- !matchSorter(options, inputValue, {
- keys: [labelField || 'label', valueField || 'value'],
- }).length))
+ !find(options, (item) => item[labelField || 'label'] == inputValue)
) {
- filtedOptions.push({
+ filtedOptions.unshift({
[labelField]: inputValue,
[valueField]: inputValue,
- isNew: true,
+ isNew: true
});
}
diff --git a/src/renderers/Carousel.tsx b/src/renderers/Carousel.tsx
index 316d0850..9b2ecd01 100644
--- a/src/renderers/Carousel.tsx
+++ b/src/renderers/Carousel.tsx
@@ -55,7 +55,7 @@ const defaultSchema = {
<% } %>
<% } else if (data.hasOwnProperty('html')) { %>
<%= data.html %>
- <% } else if (data.hasOwnproperty('item')) { %>
+ <% } else if (data.hasOwnProperty('item')) { %>
<%= data.item %>
<% } else { %>
<%= '未找到渲染数据' %>
diff --git a/src/renderers/Form/ButtonGroup.tsx b/src/renderers/Form/ButtonGroup.tsx
index f8ca3a63..b57cd1fc 100644
--- a/src/renderers/Form/ButtonGroup.tsx
+++ b/src/renderers/Form/ButtonGroup.tsx
@@ -2,12 +2,14 @@ import React from 'react';
import cx from 'classnames';
import {
OptionsControl,
- OptionsControlProps
+ OptionsControlProps,
+ Option
} from './Options';
import {
Button
} from '../../types';
-import { getLevelFromClassName } from '../../utils/helper';
+import { getLevelFromClassName, autobind, isEmpty} from '../../utils/helper';
+import { dataMapping } from '../../utils/tpl-builtin';
export interface ButtonGroupProps extends OptionsControlProps {
buttons?: Array