Closed skyfore closed 9 months ago
form 有个方法,可以获取所有字段,拿到所有字段后过滤下就行了
form 有个方法,可以获取所有字段,拿到所有字段后过滤下就行了
有相关的文档吗,我看下,而且我们的字端模型包含一些 key 比如 '[provinceId, cityId]' 之类的定义
toJS(form.submit()) //获取表单提交数据
toJS(form.submit()) //获取表单提交数据
请问这个 toJS 这个 API 是哪儿的,有具体的文档吗
toJS(form.submit()) //获取表单提交数据
请问这个 toJS 这个 API 是哪儿的,有具体的文档吗
@formily/shared 好像是这个
后端冗余了数据,然后后端又不消费,那为啥还需要前端过滤,正常情况下就是需要一来一回完全幂等的呢
后端冗余了数据,然后后端又不消费,那为啥还需要前端过滤,正常情况下就是需要一来一回完全幂等的呢
正常情况下确实是这样的,但是我们的业务逻辑有些特殊
form 有个方法,可以获取所有字段,拿到所有字段后过滤下就行了
form.getValuesIn(“*”) 应该就可以吧
后端冗余了数据,然后后端又不消费,那为啥还需要前端过滤,正常情况下就是需要一来一回完全幂等的呢
正常情况下确实是这样的,但是我们的业务逻辑有些特殊
你这种场景,我理解就是 useMemo(()=>createForm(),[switchCondition]) 通过不同的条件直接实例化不同的 form 实例?
form 有个方法,可以获取所有字段,拿到所有字段后过滤下就行了
form.getValuesIn(“*”) 应该就可以吧
感觉应该可行,这样直接取当前字段实例映射的值
@janryWang 表单A 和 表单B 是存在重复字段的,需要用户之前填写的值能够正常展示,现在的逻辑切换表单后就会重新初始化 form 但是会把值作为 value 重新设置实现这个效果
const [formIns, setFormIns] = useState(createForm())
// 当监听到用户选择表单变化后触发,并且 currFormValue 是用户当前表单中的值,作为值给到新初始化的表单
const onChangeForm = (currFormValue) => {
setFormIns(createForm({ values: currFormValue }))
}
@janryWang 表单A 和 表单B 是存在重复字段的,需要用户之前填写的值能够正常展示,现在的逻辑切换表单后就会重新初始化 form 但是会把值作为 value 重新设置实现这个效果
const [formIns, setFormIns] = useState(createForm()) // 当监听到用户选择表单变化后触发,并且 currFormValue 是用户当前表单中的值,作为值给到新初始化的表单 const onChangeForm = (currFormValue) => { setFormIns(createForm({ values: currFormValue })) }
这个我理解不影响,能支持的
What problem does this feature solve?
场景是表单有回显状态,根据服务端返回的值回显再编辑,这个时候会 setValue 很多后端冗余的值进来,提交的时候想要过滤仅提交当前表单模型中的值,而不是加上初始化时 setValue 的值
What does the proposed API look like?
form.submit({ onlyPureValue: true })