alibaba / alibaba/lowcode-engine

拖拽实现的表单项目,根据表单上下文显示隐藏,类似antd shouldUpdate

Aperta
#963 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
TypeScript
Stelle
15.9k
Fork
2.7k
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

## 复现截图
问题截图如下,希望通过某途径根据form的字段变化动态显示隐藏。

## 复现流程与链接
[demo antd 高级组件 + formily 表单组件](http://localhost:5556/antd-pro-with-formily.html)场景下,物料搜索“表单”,拖拽进渲染器内,然后将“开关表单项”(后称“开关”)下方的一个表单项作为需要隐藏的表单项(后成为“隐藏项”)
![image](https://user-images.githubusercontent.com/26290798/185891669-1f6d3a5e-5a1b-4416-8178-4d0412d35d11.png)

然后选中隐藏项,高级设置内“是否渲染”选择条件渲染,然后输入如下:
![image](https://user-images.githubusercontent.com/26290798/185890535-20ab988c-b1f8-4608-bd99-b6f5e7a15e38.png)
预览时“开关”项,(意料之内不会展示出来“隐藏项”)并未监听到变化。

## 期望结果
有一种方式可以解决这个问题,设置个state并监听“开关”的状态,然后将“隐藏项”显隐条件绑定给该state。感觉这种方式后面复杂表单就麻烦了。

个人觉得比较舒适的状态是,直接通过某种途径绑定表单项变化。[antd shouldUpdate](https://ant.design/components/form-cn/#shouldUpdate)

## 环境信息

- 引擎版本 1.0.11
- ext 版本 1.0.3
- 物料
- moment﹫2.24.0
- lodash
- iconfont-icons
- ﹫ant-design/icons﹫4.7.0
- antd﹫4.19.5
- ﹫alifd/next﹫1.24.18
- ﹫alilc/antd-lowcode-materials﹫1.0.6
- ﹫seada/antd-materials﹫0.1.1
- ﹫seada/formily-materials﹫0.1.1

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Inizia con la demo antd + formily collegata e con il flusso delle impostazioni avanzate per il rendering condizionale. Traccia il percorso con cui le modifiche ai campi del modulo raggiungono la condizione di visibilità dell’elemento nascosto, quindi verifica che la modifica del campo switch aggiorni l’elemento nascosto durante l’anteprima senza richiedere uno state separato; nell’issue non sono indicati file sorgente o test.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
typescript
Ambito
frontend
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.