import { getVModelHtml, formItemWrapper, colWrapper } from './common/htmlWrapper'
|
|
// 创建“el-input”
|
function createInputHtml(formJson, multiText, parent) {
|
const vModel = getVModelHtml(formJson, multiText, parent)
|
const placeholder = multiText.placeholder ? `placeholder="${multiText.placeholder}"` : ''
|
const width = multiText.style && multiText.style.width ? ':style="{width: \'100%\'}"' : ''
|
const disabled = multiText.disabled ? ':disabled=\'true\'' : ''
|
const maxlength = multiText.maxlength ? `:maxlength="${multiText.maxlength}"` : ''
|
const readonly = multiText.readonly ? 'readonly' : ''
|
// 高度
|
const autosize = multiText.autosize ? `:autosize="{ minRows: ${multiText.autosize.minRows}, maxRows: ${multiText.autosize.maxRows}}"` : ''
|
|
return `<el-input type="textarea" ${autosize} ${vModel} ${placeholder} ${maxlength} ${readonly} ${disabled} ${width}></el-input>`
|
}
|
|
/**
|
* 获取多行文本HTML
|
* @param formJson 表单结构
|
* @param multiText 多行文本组件
|
* @param parent 父组件(dialog, table...)
|
* @param isSomeSpanUnequal24 是否有的组件“span”不等于“24”
|
* @returns {string} 多行文本HTML
|
*/
|
export default function getMultiTextHtml(formJson, multiText, parent, isSomeSpanUnequal24) {
|
// 创建“el-input”
|
const inputHtml = createInputHtml(formJson, multiText, parent)
|
|
// 用“el-form-item”包裹“el-input”
|
let formItemHtml = formItemWrapper(formJson, multiText, inputHtml)
|
|
// span不为24的用“el-col”包裹组件
|
if (isSomeSpanUnequal24) {
|
formItemHtml = colWrapper(multiText, formItemHtml)
|
}
|
|
return formItemHtml
|
}
|