描述
项目基于vue2 + element UI
问题简述:Chrome138及以上版本,把组件中的el-input的textarea的disabled属性从true设为false,无法输入
封装了一套表单输入组件,其中的textarea如下:
<div v-if="item.type === 'textarea'"><el-inputtype="textarea":disabled="item.disabled || formObj.disabled":placeholder="item.placeholder"v-model="formObj.form[item.prop]":rows="item.rows":maxlength="item.maxlength":show-word-limit="item.showLimit":resize="item.resize":readonly="item.readonly"></el-input></div>
外部组件调用形式如下:
<FormCom :formObj="formObj" ref="newly" />formObj: {ref: "add",labelWidth: '100px',form: {remark: "",fileUrls: [],},rules: {remark: [{ required: true, message: "请输入故障描述", trigger: "blur", },],fileUrls: [{ required: true, message: "请选择故障照片", trigger: "blur", },],},items: [{label: "故障照片",type: "upload",prop: 'fileUrls',uploads: []},{label: "故障描述",prop: "remark",type: "textarea",placeholder: "请输入故障描述",maxlength: 200,showLimit: true,rows: 4,disabled: true,},],}
问题复现
默认把第二项设置disabled为true禁止输入,当点击编辑按钮时再把disabled设为false也就是允许输入,点击编辑按钮时,设置如下
this.$set(this.formObj.items[0].uploads[0], 'disabled', false);this.$set(this.formObj.items[1], 'disabled', false);
经测试,chrome138以下版本的浏览器功能正常,chrome138及以上的浏览器有问题,即使已经把disabled设为false后,也无法输入内容
然后问题通义灵码,给出的提示也都没有用
然后我又单独写了el-input,没封装为组件,直接测试修改disabled属性,功能是正常的。
所以我怀疑是组件封装的问题,但是又不敢乱改,因为项目里涉及的地方太多了,该怎么办,禁止甲方升级到138版本以上吗