alibaba / alibaba/lowcode-engine

【咨询&需求】在'明细'这个组件中,是否可以实现差异化禁用子组件

Open
#2,914 0 comments 0 reactions 1 assignee Claimed by @eternalsky View on GitHub
Dominant language
TypeScript
Stars
15.9k
Forks
2.7k
PR merge metrics
No merged PRs in 30d

Description

## **详细描述**
我有一个菜单功能是 添加/修改 值字典,每一个字典有若干个字典项。
- 当我点击【新增】的时候,弹出对话框,允许(`state.valueDictStatus=undefined`)编辑字典项的名称。
- 当我点击【编辑】的时候,弹出对话框(复用新增的对话框),并设置``state.valueDictStatus.item.name=DISABLED`。

【新增】以及【编辑】的表现行为如下所示:
![image](https://github.com/alibaba/lowcode-engine/assets/25050128/f449ac0a-0949-452f-a249-6254ec0ede8d)
![image](https://github.com/alibaba/lowcode-engine/assets/25050128/0fd5726c-f658-41dc-a4f8-13c33a8100ec)
这些都符合预期的业务逻辑。(顺便夸一句,这个组件真的很好用!!!)

但我这边有附加的一条业务逻辑:**修改值字典的(描述或者备注)时候,可以新增一条字典项**。

这个时候**非预期的情况**出现了:点击【新增一项】按钮后,**新增的行的名称也处于禁用状态**。
![image](https://github.com/alibaba/lowcode-engine/assets/25050128/8d2a9314-d6b4-423a-8868-fe0a7b1976af)

## **一种可行的尝试**
我想尝试使用自定义的方法来判断该组件是否需要被禁用,尝试把当前组件(这里是input输入框)的Value值传到自定义方法里面,那我就可以判断出这个数据是已有的数据,还是要新加的数据。那我就可以处理逻辑:
- 已有的数据化,禁用输入(不让修改);
- 新加的数据行,不禁用输入;

如下所示:
![image](https://github.com/alibaba/lowcode-engine/assets/25050128/f2ccb515-8dc5-479c-8fe6-d305eabf902d)

但是我找不到传递当前组件值的方式。

---

## **环境信息**
![image](https://github.com/alibaba/lowcode-engine/assets/25050128/18fc6a1b-e326-4142-8a28-7fd78fe7385e)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.