mini-check
Version:
37 lines (33 loc) • 1.56 kB
JavaScript
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;