UNPKG

mini-check

Version:

37 lines (33 loc) 1.56 kB
import Taro from "@tarojs/taro-h5"; import Nerv from "nervjs"; import { AtTextarea } from 'taro-ui'; import { View } from '@tarojs/components'; import classnames from 'classnames'; import { CustomLabel, ItemExtra, UnEditeableView } from '../index'; import './index.scss'; class MultilineText extends Taro.Component { render() { const { itemExtra, editable, name, placeholder, term, value, onChange, help, required, defaultValue, onView, listItemChildren } = this.props; const textareaOnChange = value => { if (onChange) { onChange(value); } }; const disabled = editable === undefined || editable === true ? false : true; const showValue = value !== undefined ? value : defaultValue; if (editable === false || editable === undefined && onView) { return <UnEditeableView term={term} help={help} value={showValue} layout="column" listItemChildren={listItemChildren} />; } const containerCLs = classnames(['textarea-container', listItemChildren ? 'item-container' : 'item-container-margin']); return <View className={containerCLs}> <View className="textarea-content"> <CustomLabel term={term} help={help} required={required} /> {itemExtra && <View className="textarea-item-extra-wrap"><ItemExtra text={itemExtra} /></View>} <View className="text-area"> <AtTextarea count={false} placeholder={placeholder} value={showValue} onChange={textareaOnChange} disabled={disabled} /> </View> </View> </View>; } } export default MultilineText;