Output文本展示

展示文本。

何时使用

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

代码演示

Output 文本展示 - 图1

基本使用

基本使用。

  1. import { Output } from 'choerodon-ui/pro';
  2. ReactDOM.render(
  3. <Output value="hello" />,
  4. mountNode
  5. );

Output 文本展示 - 图2

数据源

绑定数据源。

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

Output 文本展示 - 图3

多值

通过属性multiple设置为多值。

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

Output 文本展示 - 图4

使用renderer

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

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

Output 文本展示 - 图5

在表单中使用

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

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

Output 文本展示 - 图6

范围值

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

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

API

Output

更多属性请参考 FormField