TextareaItem 多行输入

用于接受多行文本。

规则

  • 支持通过键盘或者剪切板输入文本。

  • 通过光标可以在垂直或者水平方向进行移动。

代码演示

基本

列表主体内容的容器. (rc-form 文档)

  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 title="多行输入">
  12. <List.Body>
  13. <TextareaItem
  14. title="非受控"
  15. defaultValue="非受控组件"
  16. placeholder="非受控组件"
  17. />
  18. <TextareaItem
  19. title="受控组件"
  20. value=""
  21. placeholder="如果你有什么建议意见,欢迎你来吐槽"
  22. clear
  23. />
  24. <TextareaItem
  25. {...getFieldProps('note1', {
  26. initialValue: '',
  27. })}
  28. rows={3}
  29. placeholder="固定行数,rows"
  30. clear
  31. onBlur={() => { console.log('onBlur'); }}
  32. onFocus={(value) => { console.log('onFocus'); console.log(value); }}
  33. />
  34. <TextareaItem
  35. {...getFieldProps('note2', {
  36. initialValue: '',
  37. })}
  38. title="带标题"
  39. placeholder="title"
  40. clear={false}
  41. onBlur={() => { console.log('onBlur'); }}
  42. onFocus={(value) => { console.log('onFocus'); console.log(value); }}
  43. />
  44. <TextareaItem
  45. {...getFieldProps('note3', {
  46. initialValue: '',
  47. })}
  48. title="自适应"
  49. autoHeight
  50. clear
  51. placeholder="autoHeight"
  52. />
  53. <TextareaItem
  54. {...getFieldProps('note4', {
  55. initialValue: '',
  56. })}
  57. title="最大长度"
  58. count={30}
  59. clear
  60. placeholder="count"
  61. />
  62. <TextareaItem
  63. {...getFieldProps('note5', {
  64. initialValue: '',
  65. })}
  66. title={<img src="https://os.alipayobjects.com/rmsportal/mOoPurdIfmcuqtr.png" style={{ width: '0.56rem', height: '0.56rem' }} />}
  67. clear
  68. placeholder="title类型可以是node"
  69. />
  70. <TextareaItem
  71. {...getFieldProps('note6', {
  72. initialValue: '不可编辑',
  73. })}
  74. title="不可编辑"
  75. placeholder="editable"
  76. editable={false}
  77. />
  78. <TextareaItem
  79. value="禁用状态"
  80. title="禁用状态"
  81. disabled
  82. placeholder="editable"
  83. editable={false}
  84. />
  85. <TextareaItem
  86. {...getFieldProps('note7', {
  87. initialValue: '多行输入,带计数功能,count+rows',
  88. })}
  89. title="备注说明"
  90. rows={5}
  91. placeholder="计数功能"
  92. clear
  93. count={100}
  94. onBlur={() => { console.log('onBlur'); }}
  95. onFocus={(value) => { console.log('onFocus'); console.log(value); }}
  96. />
  97. <TextareaItem
  98. {...getFieldProps('note8', {
  99. initialValue: '多行输入,带计数功能,count+rows',
  100. })}
  101. title="报错样式"
  102. rows={5}
  103. placeholder="计数功能"
  104. clear
  105. error
  106. onErrorClick={() => { alert('点击报错'); }}
  107. count={100}
  108. onBlur={() => { console.log('onBlur'); }}
  109. onFocus={(value) => { console.log('onFocus'); console.log(value); }}
  110. />
  111. </List.Body>
  112. </List>
  113. </div>
  114. );
  115. },
  116. });
  117. TextareaItemExample = createForm()(TextareaItemExample);
  118. ReactDOM.render(<TextareaItemExample />, mountNode);

TextareaItem多行输入 - 图1

API

成员说明类型可选值默认值
prefixListClsStringam-list
title文案说明String/node''
nametextarea的nameString''
valuevalue值String是否设置value,决定了该InputItem是否是受控组件,详情请参考https://facebook.github.io/react/docs/forms.html
defaultValue设置初始默认值String''
placeholderplaceholderString''
editable是否可编辑booltrue
disabled是否禁用boolfalse
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
labelNumber标签字数(一个表单页面中,通常有多个InputItem或者TextareaItem,需要统一标签字数以便统一宽度,保持页面整洁、美观)number2, 3, 4, 5, 6, 74