EmailField 电子邮件输入框

电子邮件输入框。

何时使用

当用户需要输入电子邮件时。

代码演示

基本使用

基本使用。

EmailField电子邮件输入框 - 图1

  1. import React from 'react';
  2. import ReactDOM from 'react-dom';
  3. import { EmailField, Row, Col } from 'choerodon-ui/pro';
  4. function log(value) {
  5. console.log('[basic]', value);
  6. }
  7. ReactDOM.render(
  8. <Row gutter={10}>
  9. <Col span={8}>
  10. <EmailField placeholder="请输入" onChange={log} />
  11. </Col>
  12. <Col span={8}>
  13. <EmailField placeholder="清除按钮" defaultValue="点击清除" clearButton onChange={log} />
  14. </Col>
  15. <Col span={8}>
  16. <EmailField value="不可用" disabled />
  17. </Col>
  18. </Row>,
  19. document.getElementById('container')
  20. );

受控输入框

受控输入框

EmailField电子邮件输入框 - 图2

  1. import React from 'react';
  2. import ReactDOM from 'react-dom';
  3. import { EmailField } from 'choerodon-ui/pro';
  4. class App extends React.Component {
  5. constructor(props) {
  6. super(props);
  7. this.state = {
  8. value: 'abc@123.com',
  9. };
  10. }
  11. handleChange = (value, oldValue) => {
  12. console.log('[newValue]', value, '[oldValue]', oldValue);
  13. this.setState({
  14. value,
  15. });
  16. }
  17. handleInput = (e) => {
  18. console.log('[input]', e.target.value);
  19. }
  20. render() {
  21. return <EmailField value={this.state.value} onChange={this.handleChange} onInput={this.handleInput} />;
  22. }
  23. }

数据源

绑定数据源。

EmailField电子邮件输入框 - 图3

  1. import React from 'react';
  2. import ReactDOM from 'react-dom';
  3. import { DataSet, EmailField } from 'choerodon-ui/pro';
  4. function handleDataSetChange({ record, name, value, oldValue }) {
  5. console.log('[dataset newValue]', value, '[oldValue]', oldValue, `[record.get('${name}')]`, record.get(name));
  6. }
  7. class App extends React.Component {
  8. ds = new DataSet({
  9. autoCreate: true,
  10. fields: [
  11. { name: 'email', type: 'email', defaultValue: '123@abc.com', required: true },
  12. ],
  13. events: {
  14. update: handleDataSetChange,
  15. },
  16. });
  17. render() {
  18. return <EmailField dataSet={this.ds} name="email" />;
  19. }
  20. }
  21. ReactDOM.render(
  22. <App />,
  23. document.getElementById('container')
  24. );

API

内置邮件格式校验的输入框。

更多属性请参考 TextField