跳到主要内容

JS API

API

formApi

NameTypeDescription
nodeHTML Element表单根 DOM 元素。
on(eventType, callback) => void监听表单事件
off(eventType, callback) => void取消监听表单事件
getData() => object获取表单所有数据
setData(newData) => void将表单所有数据替换为 newData
getDataWithPreprocessor() => object获取表单经过处理过后可以提交给后端的数据
getContext() => object获取上下本信息,如 userProfile 等
getValue(id) => any获取单个字段的值
setValue(id, newValue ) => void设置单个字段的值
getInitialValues() => object获取表单初始所有数据
setInitialValue(id, initialValue, notReplaceValue) => any设置单个字段的值,默认会将改字段的当前值一起替换,notReplaceValue 设置为 true 可以只设置初始值不替换当前值
getErrors() => object获取表单所有错误信息
setErrors(errors) => void设置表单错误信息
setError(id, error) => void设置某个字段的错误信息
getFieldApis() => object获取所有可用的字段 API
getFieldApi(id) => object获取单个字段的 API,每个组件暴露的 API 都有一定不同,例如 EditableTable,具体参考组件每个的 API 文档
validateForm() => Promise立即验证当前表单数据是否合法,返回值 Promise then 里是 errors
isDataValid() => boolean当前表单数据是否合法
isDirty() => boolean当前表单数据是否有被修改过
registerMethod(name, func) => void注册函数,Button 的 调用表单函数(formMethod) action 可以调用到
getMethods() => object获取所有注册的函数
setFieldComponentProps(id, componentProps) => void通过 JS 动态设置组件的 componentProps, 可以解决在 json 模式下不能写 callback,而很多组件的属性都是 callback 的形式的问题。
submit({ saveOnly, handler }) => Promise提交表单
refresh() => void刷新表单
cancel() => void取消并返回上一页
reset({ initialValues }) => void重制表单数据
getProps() => object获取表单的所有属性
render() => void重新渲染表单。和 refresh 方法不同,render 只会重新渲染整个表单,不会触发表单和子组件的重新请求数据

formApi.on eventType

NamecallbackDescription
firstRendered(formApi) => void当表单第一次渲染的时候调用此函数
ready(formApi) => void当表单 API 以及所有异步组件 API 可用
unmount() => void当表单卸载的时候调用
fieldValueChange(id, newValue) => void当某个字段值改变,参数为单个表单数据
change(Object) => void当表单数据发生改变,参数为所有表单数据
validationFail(Object) => void当表单验证失败,参数为表单所有错误信息
schemaChanged(Object) => void当表单 schema 发生改变的时候调用此函数
submitted(Object) => void当表单提交数据成功过后调用此函数

restApi

NameType
get(url, config) => Promise
getStatic(url, config) => Promise
post(url, data, config) => Promise
put(url, data, config) => Promise
delete(url, config) => Promise

messageApi

https://ant.design/components/message#api