TextareaItem 多行输入
用于接受多行文本。规则
支持通过键盘或者剪切板输入文本。
通过光标可以在垂直或者水平方向进行移动。
代码演示
列表主体内容的容器. (rc-form 文档)
import { List, TextareaItem } from 'antd-mobile';
import { createForm } from 'rc-form';
let TextareaItemExample = React.createClass({
onClick() {
console.log(this.props.form.getFieldsValue());
},
render() {
const { getFieldProps } = this.props.form;
return (
<div>
<List title="多行输入">
<List.Body>
<TextareaItem
title="非受控"
defaultValue="非受控组件"
placeholder="非受控组件"
/>
<TextareaItem
title="受控组件"
value=""
placeholder="如果你有什么建议意见,欢迎你来吐槽"
clear
/>
<TextareaItem
{...getFieldProps('note1', {
initialValue: '',
})}
rows={3}
placeholder="固定行数,rows"
clear
onBlur={() => { console.log('onBlur'); }}
onFocus={(value) => { console.log('onFocus'); console.log(value); }}
/>
<TextareaItem
{...getFieldProps('note2', {
initialValue: '',
})}
title="带标题"
placeholder="title"
clear={false}
onBlur={() => { console.log('onBlur'); }}
onFocus={(value) => { console.log('onFocus'); console.log(value); }}
/>
<TextareaItem
{...getFieldProps('note3', {
initialValue: '',
})}
title="自适应"
autoHeight
clear
placeholder="autoHeight"
/>
<TextareaItem
{...getFieldProps('note4', {
initialValue: '',
})}
title="最大长度"
count={30}
clear
placeholder="count"
/>
<TextareaItem
{...getFieldProps('note5', {
initialValue: '',
})}
title={<img src="https://os.alipayobjects.com/rmsportal/mOoPurdIfmcuqtr.png" style={{ width: '0.56rem', height: '0.56rem' }} />}
clear
placeholder="title类型可以是node"
/>
<TextareaItem
{...getFieldProps('note6', {
initialValue: '不可编辑',
})}
title="不可编辑"
placeholder="editable"
editable={false}
/>
<TextareaItem
value="禁用状态"
title="禁用状态"
disabled
placeholder="editable"
editable={false}
/>
<TextareaItem
{...getFieldProps('note7', {
initialValue: '多行输入,带计数功能,count+rows',
})}
title="备注说明"
rows={5}
placeholder="计数功能"
clear
count={100}
onBlur={() => { console.log('onBlur'); }}
onFocus={(value) => { console.log('onFocus'); console.log(value); }}
/>
<TextareaItem
{...getFieldProps('note8', {
initialValue: '多行输入,带计数功能,count+rows',
})}
title="报错样式"
rows={5}
placeholder="计数功能"
clear
error
onErrorClick={() => { alert('点击报错'); }}
count={100}
onBlur={() => { console.log('onBlur'); }}
onFocus={(value) => { console.log('onFocus'); console.log(value); }}
/>
</List.Body>
</List>
</div>
);
},
});
TextareaItemExample = createForm()(TextareaItemExample);
ReactDOM.render(<TextareaItemExample />, mountNode);
API
成员 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
prefixListCls | String | am-list | ||
title | 文案说明 | String/node | '' | |
name | textarea的name | String | '' | |
value | value值 | String | 是否设置value,决定了该InputItem是否是受控组件,详情请参考https://facebook.github.io/react/docs/forms.html | 无 |
defaultValue | 设置初始默认值 | String | '' | |
placeholder | placeholder | String | '' | |
editable | 是否可编辑 | bool | true | |
disabled | 是否禁用 | bool | false | |
clear | 是否带清除功能 | bool | true | |
rows | 显示几行 | number | 1 | |
count | 计数功能,兼具最大长度,默认为0,代表不开启计数功能 | number | ||
onChange | textarea change事件触发的回调函数,参数是value | Function | ||
onBlur | textarea blur事件触发的回调函数,参数是value | Function | ||
onFocus | textarea focus事件触发的回调函数,参数是value | Function | ||
error | 报错样式 | bool | false | |
onErrorClick | 点击报错icon触发的回调, | Function | 无 | |
autoHeight | 高度自适应, autoHeight和rows请二选一 | bool | false | |
labelNumber | 标签字数(一个表单页面中,通常有多个InputItem或者TextareaItem,需要统一标签字数以便统一宽度,保持页面整洁、美观) | number | 2 , 3 , 4 , 5 , 6 , 7 | 4 |