mirror of
https://gitee.com/baidu/amis.git
synced 2024-12-02 12:08:13 +08:00
ChainedCheckboxes 支持选项级别的 placeholder
This commit is contained in:
parent
5d9b4b2ec9
commit
aff5145bfe
@ -120,7 +120,8 @@ export class ChainedCheckboxes extends BaseCheckboxes<
|
|||||||
placeholder,
|
placeholder,
|
||||||
classnames: cx,
|
classnames: cx,
|
||||||
option2value,
|
option2value,
|
||||||
itemRender
|
itemRender,
|
||||||
|
translate: __
|
||||||
} = this.props;
|
} = this.props;
|
||||||
|
|
||||||
this.valueArray = BaseCheckboxes.value2array(value, options, option2value);
|
this.valueArray = BaseCheckboxes.value2array(value, options, option2value);
|
||||||
@ -137,18 +138,21 @@ export class ChainedCheckboxes extends BaseCheckboxes<
|
|||||||
body,
|
body,
|
||||||
options,
|
options,
|
||||||
subTitle,
|
subTitle,
|
||||||
indexes
|
indexes,
|
||||||
|
placeholder
|
||||||
}: {
|
}: {
|
||||||
body: Array<React.ReactNode>;
|
body: Array<React.ReactNode>;
|
||||||
options: Array<Option> | null;
|
options: Array<Option> | null;
|
||||||
subTitle?: string;
|
subTitle?: string;
|
||||||
indexes: Array<number>;
|
indexes: Array<number>;
|
||||||
|
placeholder?: string;
|
||||||
},
|
},
|
||||||
selected,
|
selected,
|
||||||
depth
|
depth
|
||||||
) => {
|
) => {
|
||||||
let nextOptions: Array<Option> = [];
|
let nextOptions: Array<Option> = [];
|
||||||
let nextSubTitle: string = '';
|
let nextSubTitle: string = '';
|
||||||
|
let nextPlaceholder: string = '';
|
||||||
let nextIndexes = indexes;
|
let nextIndexes = indexes;
|
||||||
|
|
||||||
body.push(
|
body.push(
|
||||||
@ -158,25 +162,31 @@ export class ChainedCheckboxes extends BaseCheckboxes<
|
|||||||
{subTitle}
|
{subTitle}
|
||||||
</div>
|
</div>
|
||||||
) : null}
|
) : null}
|
||||||
{Array.isArray(options) && options.length
|
{Array.isArray(options) && options.length ? (
|
||||||
? options.map((option, index) => {
|
options.map((option, index) => {
|
||||||
const id = indexes.concat(index).join('-');
|
const id = indexes.concat(index).join('-');
|
||||||
|
|
||||||
if (id === selected) {
|
if (id === selected) {
|
||||||
nextSubTitle = option.subTitle;
|
nextSubTitle = option.subTitle;
|
||||||
nextOptions = option.children!;
|
nextOptions = option.children!;
|
||||||
nextIndexes = indexes.concat(index);
|
nextIndexes = indexes.concat(index);
|
||||||
}
|
nextPlaceholder = option.placeholder;
|
||||||
|
}
|
||||||
|
|
||||||
return this.renderOption(option, index, depth, id);
|
return this.renderOption(option, index, depth, id);
|
||||||
})
|
})
|
||||||
: null}
|
) : (
|
||||||
|
<div className={cx('ChainedCheckboxes-placeholder')}>
|
||||||
|
{__(placeholder)}
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
options: nextOptions,
|
options: nextOptions,
|
||||||
subTitle: nextSubTitle,
|
subTitle: nextSubTitle,
|
||||||
|
placeholder: nextPlaceholder,
|
||||||
indexes: nextIndexes,
|
indexes: nextIndexes,
|
||||||
body: body
|
body: body
|
||||||
};
|
};
|
||||||
@ -184,13 +194,12 @@ export class ChainedCheckboxes extends BaseCheckboxes<
|
|||||||
{
|
{
|
||||||
options,
|
options,
|
||||||
body,
|
body,
|
||||||
indexes: []
|
indexes: [],
|
||||||
|
placeholder
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
const __ = this.props.translate;
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className={cx('ChainedCheckboxes', className)}>
|
<div className={cx('ChainedCheckboxes', className)}>
|
||||||
{body && body.length ? (
|
{body && body.length ? (
|
||||||
|
Loading…
Reference in New Issue
Block a user