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