yylib-quick-mobile
Version:
yylib-quick-mobile
65 lines (63 loc) • 2.13 kB
JavaScript
import React, {Component} from 'react';
import {List} from 'antd-mobile';
import YYIcon from '../icon/YYIcon';
import classnames from 'classnames';
import {isFunction} from '../../utils/FunctionUtil';
const Item = List.Item;
const Brief = Item.Brief;
import './YYItemText.less';
class YYItemText extends Component {
getExtra(value) {
let extra = {};
if (this.props.inline) {
extra = {extra:value};
}
return extra;
}
render() {
let {getFieldProps, getFieldValue} = this.props.form;
const {field,label,bottomLine,inline,wrap,visible,size,labelNumber,contentType,
findUI, offline,parentType, uiorigin, RunInDesign, uititle, uitype, uikey, nid, ...restProps} = this.props;
let wrapClz = classnames('yy-itemtext',(!visible&&'hidden'),(!inline&&'no-inline'),size, (!bottomLine&&'no-bottom-line'), this.props.className);
let value = getFieldValue(field);
if(typeof value=="object"){
value=value&&value.name?value.name:"";//对应名称
}
return (
<Item
{...restProps}
className={wrapClz}
wrap={wrap}
{...isFunction(getFieldProps) ? getFieldProps(field, {
}) : null}
>
<div className='am-list-line am-list-line-content'>
<div className={`am-input-label am-input-label-${labelNumber}`}>{label}</div>
{inline&&<div className={`am-input-control am-input-control-${contentType}`}>{value}</div>}
</div>
{!inline&&<Brief>{value}</Brief>}
</Item>);
}
}
YYItemText.defaultProps = {
field: "default",
label: '显示名称:',
bottomLine: true,
inline: true,
visible: true,
labelNumber: 7,
wrap:false,
size: 'big',
contentType:'left',
//设计器需要的props,不添加会warning
findUI:'',
offline:false,
parentType:'',
uiorigin:'',
RunInDesign:false,
uititle:'',
uitype:'',
uikey:'',
nid:'',
}
export default YYItemText;