UNPKG

@alifd/field

Version:

Fields can be used to manage data when it comes to form data manipulation and validation. After being associated with a component, the form data can be automatically written back, read, and verified.

69 lines (59 loc) 2.03 kB
--- title: 自定义返回值 - custom value order: 2 --- 当组件返回的数据和最终期望提交的格式不一致的时候,可以使用 `getValueFormatter` 和 `setValueFormatter` 两个函数做转换。 比如 switch 组件期望上报 0/1, date-picker 组件期望上报 YYYY-MM-DD 这种字符串格式 --- custom get `value` by api `getValueFormatter` custom set `value` by api `setValueFormatter` ```jsx import ReactDOM from 'react-dom'; import React from 'react'; import { Button, DatePicker, Switch } from '@alifd/next'; import Field from '@alifd/field'; import moment from 'moment'; class App extends React.Component { field = new Field(this); render() { const init = this.field.init; return ( <div> <Switch {...init('switch', { getValueFormatter: (value, ...args) => { return value === true ? 1 : 0; }, setValueFormatter: (value, inputValues) => { return value === 1 ? true : false; }, })} /> <br /> <br /> <DatePicker {...init('time', { getValueFormatter: (value, ...args) => { return value.format('YYYY-MM-DD'); }, setValueFormatter: (value, inputValues) => { return moment(value, 'YYYY-MM-DD'); }, })} /> <br /> <br /> <Button type="primary" onClick={() => { console.log(this.field.getValues()); }} > getValues </Button> </div> ); } } ReactDOM.render(<App />, mountNode); ```