Compare commits

...

2 Commits

Author SHA1 Message Date
a73571bd73 feat(annotation): 优化模板配置树编辑器中的属性填充逻辑
- 修改对象配置属性填充条件,仅在名称不存在时设置默认值
- 为控制配置添加标签类别判断逻辑
- 区分标注类和布局类控件的属性填充策略
- 标注类控件始终填充必需属性,布局类控件仅在需要时填充
- 修复属性值设置逻辑,确保正确引用名称属性
2026-02-02 15:26:25 +08:00
00fa1b86eb refactor(DataAnnotation): 移除未使用的状态变量并优化选择器逻辑
- 删除未使用的 addChildTag 和 addSiblingTag 状态变量
- 将 Select 组件的值设置为 null 以重置选择状态
- 简化 handleAddNode 调用的处理逻辑
- 移除不再需要的状态管理代码以提高性能
2026-02-02 15:23:01 +08:00

View File

@@ -247,18 +247,34 @@ const createNode = (
attrs[attr] = ""; attrs[attr] = "";
}); });
if (objectConfig && attrs.name !== undefined) { if (objectConfig) {
const name = getDefaultName(tag); const name = getDefaultName(tag);
attrs.name = name; if (!attrs.name) {
if (attrs.value !== undefined) { attrs.name = name;
attrs.value = `$${name}`; }
if (!attrs.value) {
attrs.value = `$${attrs.name}`;
} }
} }
if (controlConfig && attrs.name !== undefined) { if (controlConfig) {
attrs.name = getDefaultName(tag); const isLabeling = controlConfig.category === "labeling";
if (attrs.toName !== undefined) {
attrs.toName = objectNames[0] || ""; if (isLabeling) {
if (!attrs.name) {
attrs.name = getDefaultName(tag);
}
if (!attrs.toName) {
attrs.toName = objectNames[0] || "";
}
} else {
// For layout controls, only fill if required
if (attrs.name !== undefined && !attrs.name) {
attrs.name = getDefaultName(tag);
}
if (attrs.toName !== undefined && !attrs.toName) {
attrs.toName = objectNames[0] || "";
}
} }
} }
@@ -426,8 +442,6 @@ const TemplateConfigurationTreeEditor = ({
const [selectedId, setSelectedId] = useState<string>(tree.id); const [selectedId, setSelectedId] = useState<string>(tree.id);
const [parseError, setParseError] = useState<string | null>(null); const [parseError, setParseError] = useState<string | null>(null);
const lastSerialized = useRef<string>(""); const lastSerialized = useRef<string>("");
const [addChildTag, setAddChildTag] = useState<string | undefined>();
const [addSiblingTag, setAddSiblingTag] = useState<string | undefined>();
useEffect(() => { useEffect(() => {
if (!value) { if (!value) {
@@ -763,9 +777,8 @@ const TemplateConfigurationTreeEditor = ({
<Select <Select
placeholder="添加子节点" placeholder="添加子节点"
options={tagOptions} options={tagOptions}
value={addChildTag} value={null}
onChange={(value) => { onChange={(value) => {
setAddChildTag(undefined);
handleAddNode(value, "child"); handleAddNode(value, "child");
}} }}
disabled={isStructureLocked} disabled={isStructureLocked}
@@ -773,9 +786,8 @@ const TemplateConfigurationTreeEditor = ({
<Select <Select
placeholder="添加同级节点" placeholder="添加同级节点"
options={tagOptions} options={tagOptions}
value={addSiblingTag} value={null}
onChange={(value) => { onChange={(value) => {
setAddSiblingTag(undefined);
handleAddNode(value, "sibling"); handleAddNode(value, "sibling");
}} }}
disabled={isStructureLocked || selectedNode.id === tree.id} disabled={isStructureLocked || selectedNode.id === tree.id}