Output 文本展示

展示文本。

何时使用

单纯用于展示文本,常用在表单中。

代码演示

基本使用

基本使用。

Output文本展示 - 图1

  1. import React from 'react';
  2. import ReactDOM from 'react-dom';
  3. import { Output } from 'choerodon-ui/pro';
  4. ReactDOM.render(
  5. <Output value="hello" />,
  6. document.getElementById('container')
  7. );

使用renderer

使用renderer属性覆盖默认渲染行为。

Output文本展示 - 图2

  1. import React from 'react';
  2. import ReactDOM from 'react-dom';
  3. import { Output } from 'choerodon-ui/pro';
  4. function rendererOne(param) {
  5. const { text } = param;
  6. return <span style={{ color: 'red' }}>{text}</span>;
  7. }
  8. ReactDOM.render(
  9. <Output value="hello" renderer={rendererOne} />,
  10. document.getElementById('container')
  11. );

数据源

绑定数据源。

Output文本展示 - 图3

  1. import React from 'react';
  2. import ReactDOM from 'react-dom';
  3. import { DataSet, Output } from 'choerodon-ui/pro';
  4. class App extends React.Component {
  5. ds = new DataSet({
  6. autoCreate: true,
  7. fields: [
  8. {
  9. name: 'first-name',
  10. type: 'string',
  11. defaultValue: 'Zhangsan',
  12. required: true,
  13. },
  14. ],
  15. });
  16. render() {
  17. return <Output dataSet={this.ds} name="first-name" />;
  18. }
  19. }
  20. ReactDOM.render(<App />, document.getElementById('container'));

在表单中使用

表单绑定数据源,与其他字段混合使用。

Output文本展示 - 图4

  1. import React from 'react';
  2. import ReactDOM from 'react-dom';
  3. import { DataSet, Form, Output, EmailField, NumberField } from 'choerodon-ui/pro';
  4. class App extends React.Component {
  5. ds = new DataSet({
  6. autoCreate: true,
  7. fields: [
  8. { name: 'phone', defaultValue: '15888888888', type: 'string', label: '手机号' },
  9. { name: 'age', defaultValue: 18, type: 'number', label: '年龄' },
  10. { name: 'sex', defaultValue: 'F', type: 'string', label: '性别', lookupCode: 'HR.EMPLOYEE_GENDER' },
  11. { name: 'language', defaultValue: 'zh-CN', type: 'string', label: '语言' },
  12. { name: 'email', defaultValue: 'some@example.com', type: 'string', label: '邮箱' },
  13. { name: 'homepage', defaultValue: 'www.baidu.com', type: 'string', label: '个人主页' },
  14. { name: 'birth', defaultValue: '2018-12-26', type: 'date', label: '生日' },
  15. ],
  16. });
  17. render() {
  18. return (
  19. <Form dataSet={this.ds} style={{ width: '3.5rem' }}>
  20. <Output name="phone" />
  21. <NumberField name="age" />
  22. <Output name="sex" />
  23. <Output name="language" />
  24. <EmailField name="email" />
  25. <Output name="homepage" />
  26. <Output name="birth" />
  27. </Form>
  28. );
  29. }
  30. }
  31. ReactDOM.render(
  32. <App />,
  33. document.getElementById('container')
  34. );

多值

通过属性multiple设置为多值。

Output文本展示 - 图5

  1. import React from 'react';
  2. import ReactDOM from 'react-dom';
  3. import { DataSet, Output, Row, Col } from 'choerodon-ui/pro';
  4. class App extends React.Component {
  5. ds = new DataSet({
  6. autoCreate: true,
  7. fields: [
  8. { name: 'user', type: 'string', label: '用户', defaultValue: 'Jack,Rose,Hugh', required: true, multiple: ',' },
  9. ],
  10. });
  11. render() {
  12. return (
  13. <Row gutter={10}>
  14. <Col span={12}>
  15. <Output dataSet={this.ds} name="user" />
  16. </Col>
  17. <Col span={12}>
  18. <Output multiple value={['wu', 'zoe', 'jasson']} />
  19. </Col>
  20. </Row>
  21. );
  22. }
  23. }
  24. ReactDOM.render(
  25. <App />,

范围值

通过属性range设置为范围值。

Output文本展示 - 图6

  1. import React from 'react';
  2. import ReactDOM from 'react-dom';
  3. import { DataSet, Output, Row, Col } from 'choerodon-ui/pro';
  4. class App extends React.Component {
  5. ds = new DataSet({
  6. autoCreate: true,
  7. fields: [
  8. { name: 'user', type: 'string', label: '用户', defaultValue: [1, 10], required: true, range: true },
  9. ],
  10. });
  11. render() {
  12. return (
  13. <Row gutter={10}>
  14. <Col span={12}>
  15. <Output dataSet={this.ds} name="user" />
  16. </Col>
  17. <Col span={12}>
  18. <Output range value={[20, 30]} />
  19. </Col>
  20. <Col span={24}>
  21. <Output range={['start', 'end']} value={{ start: 30, end: 50 }} />
  22. </Col>
  23. <Col span={24}>
  24. <Output multiple range value={[[1, 10], [20, 30], [30, 50]]} />
  25. </Col>
  26. </Row>
  27. );
  28. }
  29. }

API

Output

更多属性请参考 FormField