描述
项目基于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版本以上吗