chrome138版本及以上el-input的textarea输入问题

描述

项目基于vue2 + element UI

问题简述:Chrome138及以上版本,把组件中的el-input的textarea的disabled属性从true设为false,无法输入

封装了一套表单输入组件,其中的textarea如下:

javascript 复制代码
    <div v-if="item.type === 'textarea'">
      <el-input
        type="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>

外部组件调用形式如下:

javascript 复制代码
<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也就是允许输入,点击编辑按钮时,设置如下

javascript 复制代码
 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版本以上吗