<template v-else-if="item.paramType == 'TextArea'"> <el-form-item :label="item.paramTitle" :prop="item.paramName" :rules="[{ required: item.paramRequired, message: '请输入'+item.paramTitle, trigger: 'blur' }]"> <!--<el-input type="textarea" v-model="currentJobData[item.paramName]" :data-id="item.paramId" :name="item.paramName" :required="item.paramRequired" :maxlength="item.paramMax" :minlength="item.paramMin" :cols="item.paramCols" :rows="item.paramRows" :placeholder="item.placeholder" :disabled="!editEnable" :title="currentJobData[item.paramName]"></el-input>--> <textarea :cols="item.paramCols" :rows="item.paramRows" v-model="currentJobData[item.paramName]" class="el-textarea__inner" :placeholder="item.placeholder"></textarea> </el-form-item> </template>
项目中要用到textarea这种输入框,用的是element-ui,然而<el-input type="textarea"></el-input>无论怎样输入,都无法输入,也试过网友们说的加一个@input事件,说可能是绑定太深引起的问题,试过了,加了也没用。
真的没办法了,于是想了一个方案,不用element元素,用html原生的textarea元素,然后引用element的样式el-textarea__inner,达到了一模一样的效果,哈哈,太爽了,于是把<el-input>给注释掉了。
前后,对比了一下<el-input>和原生的textarea,发现<el-input>多了maxlength和minlength,于是在原生textarea也加上这两个属性,哈哈,果然原生的也不能输入了。到此算是找到原因了,maxlength和minlength属性搞的鬼,其他属性倒没什么,粗心大意惹的祸吧,唉:(
作者:程空万里
链接:https://www.jianshu.com/p/1c8d11ee6c1b
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。