TextareaItem 多行输入

定义/Definition

文本区域可以接收和展示多行文本。

规则 / Rule

  • 文本区域是矩形,可定义为任何高度。当内容太多超出视图的边框时,文本视图支持滚动。

  • 如果文本区域支持用户编辑,当用户轻击文本视图内部时,将唤起键盘。键盘的布局和类型取决于用户的系统语言设置。

代码演示

基本

列表主体内容的容器。

  1. import { List, TextareaItem } from 'antd-mobile';
  2. import { createForm } from 'rc-form';
  3. let TextareaItemExample = React.createClass({
  4. onClick() {
  5. console.log(this.props.form.getFieldsValue());
  6. },
  7. render() {
  8. const { getFieldProps } = this.props.form;
  9. return (
  10. <div>
  11. <List>
  12. <List.Header>多行输入,TextareaItem</List.Header>
  13. <List.Body>
  14. <TextareaItem
  15. {...getFieldProps('note', {
  16. initialValue: '',
  17. valuePropName: 'value',
  18. })}
  19. name="yyy"
  20. placeholder="如果你有什么建议意见,欢迎你来吐槽"
  21. clear
  22. onBlur={() => { console.log('onBlur'); }}
  23. onFocus={(e) => { console.log('onFocus'); console.log(e); }}
  24. />
  25. <TextareaItem
  26. {...getFieldProps('note3', {
  27. initialValue: '',
  28. valuePropName: 'value',
  29. })}
  30. name="yyy"
  31. rows={3}
  32. placeholder="固定行数,rows"
  33. clear
  34. onBlur={() => { console.log('onBlur'); }}
  35. onFocus={(e) => { console.log('onFocus'); console.log(e); }}
  36. />
  37. <TextareaItem
  38. {...getFieldProps('note1', {
  39. initialValue: '',
  40. valuePropName: 'value',
  41. })}
  42. title="带标题"
  43. labelNumber={4}
  44. name="yyy"
  45. placeholder="title"
  46. clear={false}
  47. onBlur={() => { console.log('onBlur'); }}
  48. onFocus={(e) => { console.log('onFocus'); console.log(e); }}
  49. />
  50. <TextareaItem
  51. {...getFieldProps('note2', {
  52. initialValue: '',
  53. valuePropName: 'value',
  54. })}
  55. title="自适应"
  56. labelNumber={4}
  57. autoHeight
  58. clear
  59. placeholder="高度自适应"
  60. />
  61. <TextareaItem
  62. {...getFieldProps('note4', {
  63. initialValue: '',
  64. valuePropName: 'value',
  65. })}
  66. title="最大长度"
  67. labelNumber={4}
  68. count={30}
  69. clear
  70. error
  71. placeholder="count"
  72. />
  73. <TextareaItem
  74. {...getFieldProps('note5', {
  75. initialValue: '',
  76. valuePropName: 'value',
  77. })}
  78. title={<img src="https://os.alipayobjects.com/rmsportal/mOoPurdIfmcuqtr.png" width="28" height="28" />}
  79. labelNumber={4}
  80. clear
  81. placeholder="title类型可以是node"
  82. />
  83. <TextareaItem
  84. {...getFieldProps('note6', {
  85. initialValue: '不可编辑',
  86. valuePropName: 'value',
  87. })}
  88. title="不可编辑"
  89. labelNumber={4}
  90. placeholder="editable"
  91. editable={false}
  92. />
  93. <TextareaItem
  94. {...getFieldProps('note7', {
  95. initialValue: '多行输入,带计数功能,count+rows',
  96. valuePropName: 'value',
  97. })}
  98. title="备注说明"
  99. labelNumber={4}
  100. name="yyy"
  101. rows={5}
  102. placeholder="计数功能"
  103. clear
  104. count={100}
  105. onBlur={() => { console.log('onBlur'); }}
  106. onFocus={(e) => { console.log('onFocus'); console.log(e); }}
  107. />
  108. <TextareaItem
  109. {...getFieldProps('note8', {
  110. initialValue: '多行输入,带计数功能,count+rows',
  111. valuePropName: 'value',
  112. })}
  113. title="备注说明"
  114. labelNumber={4}
  115. name="yyy"
  116. rows={5}
  117. placeholder="计数功能"
  118. clear
  119. error
  120. onErrorClick={() => { alert(21212); }}
  121. count={100}
  122. onBlur={() => { console.log('onBlur'); }}
  123. onFocus={(e) => { console.log('onFocus'); console.log(e); }}
  124. />
  125. </List.Body>
  126. </List>
  127. </div>
  128. );
  129. },
  130. });
  131. TextareaItemExample = createForm()(TextareaItemExample);
  132. ReactDOM.render(<TextareaItemExample />, mountNode);

TextareaItem多行输入 - 图1

API

成员说明类型可选值默认值
prefixListClsStringam-list
type文本区域样式类型String线型hasLine,有边框hasBorder,本期只支持hasLinehasLine
title文案说明String/node''
nametextarea的nameString''
valuetextarea的默认值String''
placeholderplaceholderString''
clear是否带清除功能booltrue
rows显示几行number1
count计数功能,兼具最大长度,默认为0,代表不开启计数功能number
onChangetextarea change事件触发的回调函数,参数是valueFunction
onBlurtextarea blur事件触发的回调函数,参数是valueFunction
onFocustextarea focus事件触发的回调函数,参数是valueFunction
error报错样式boolfalse
onErrorClick点击报错icon触发的回调,Function
autoHeight高度自适应, autoHeight和rows请二选一boolfalse
editable输入框是否可输入booltrue
labelNumber标签字数(一个表单页面中,通常有多个InputItem或者TextareaItem,需要统一标签字数以便统一宽度,保持页面整洁、美观)number2, 3, 4, 5, 6, 74