TextArea文本域

文本域用于输入一段文字。

何时使用

代码演示

TextArea 文本域 - 图1

基本使用

基本使用。

  1. import { TextArea, Row, Col } from 'choerodon-ui/pro';
  2. ReactDOM.render(
  3. <Row gutter={10}>
  4. <Col span={8}>
  5. <TextArea placeholder="Basic usage" />
  6. </Col>
  7. <Col span={8}>
  8. <TextArea placeholder="readOnly" readOnly />
  9. </Col>
  10. <Col span={8}>
  11. <TextArea placeholder="disabled" disabled />
  12. </Col>
  13. </Row>,
  14. mountNode,
  15. );

TextArea 文本域 - 图2

数据绑定

数据绑定

  1. import { TextArea, DataSet } from 'choerodon-ui/pro';
  2. function handleDataSetChange({ record, name, value, oldValue }) {
  3. console.log('[dataset newValue]', value, '[oldValue]', oldValue, `[record.get('${name}')]`, record.get(name));
  4. }
  5. class App extends React.Component {
  6. ds = new DataSet({
  7. autoCreate: true,
  8. fields: [
  9. { name: 'content', type: 'string', defaultValue: 'textarea', required: true },
  10. ],
  11. events: {
  12. update: handleDataSetChange,
  13. },
  14. });
  15. render() {
  16. return <TextArea dataSet={this.ds} name="content" resize="both" />;
  17. }
  18. }
  19. ReactDOM.render(
  20. <App />,
  21. mountNode
  22. );

TextArea 文本域 - 图3

受控输入框

受控输入框

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

TextArea 文本域 - 图4

拖拽调整大小

拖拽调整大小

  1. import { TextArea, Row, Col } from 'choerodon-ui/pro';
  2. ReactDOM.render(
  3. <Row gutter={10}>
  4. <Col span={8}>
  5. <TextArea placeholder="resize both" resize="both" cols={40} />
  6. </Col>
  7. <Col span={8}>
  8. <TextArea placeholder="resize vertical" resize="vertical" cols={40} />
  9. </Col>
  10. <Col span={8}>
  11. <TextArea placeholder="resize horizontal" resize="horizontal" cols={40} />
  12. </Col>
  13. </Row>,
  14. mountNode
  15. );

API

TextArea

属性说明类型默认值
cols文本域宽number-
rows文本域高number-
resize是否能够拖拽调整大小,可选值: none both vertical horizontalstringnone

更多属性请参考 FormField