in src/ui/editor/complex/AForm.tsx [17:44]
function ItemLabel(props: { uispec?: M3UISpec, schema: MFieldSchema, labelWidth?: number, morph: MORPH }): JSX.Element {
// label自动加冒号功能 uispec.comma
let label = props.schema.label;
if (props.uispec?.comma) {
// @ts-ignore trimEnd支持正则的,但lodash的声明写得不对
label = _.trimEnd(label, new RegExp("::" + props.uispec.comma)) + props.uispec.comma;
}
// 必填label加星号
const star = (props.schema.required && props.morph === "editor") ? <span style={{ color: "red" }}>*</span> : undefined;
if (!props.schema.label) {
return <></>;
}
let popoverDesc = undefined;
if (props.schema.popoverDesc) {
popoverDesc = <Popover key=":popoverDesc" content={props.schema.popoverDesc}>
<QuestionCircleTwoTone style={{ marginLeft: 5 }} />
</Popover>
}
if (props.labelWidth) {
return <span className="ItemLabel" style={{ display: "inline-block", width: props.labelWidth + 20 }}>{star}{label}{popoverDesc}</span>;
} else {
return <div className="ItemLabel" key={"字段标题:" + props.schema.name}>{star}{label}{popoverDesc}</div>;
}
}