a-textarea(textarea)出现模糊问题的可能解决方案

a-textarea(textarea)出现模糊问题的可能解决方案

项目介绍:本项目是一个vue3+ant-design-vue4.x开发,是一个客服机器人的组件。其它项目通过iframe+js文件来引入(iframe的内容就是表单,入口按钮是通过js文件进行dom操作创建)。

通过js监听页面宽度,然后通过transform来适配不同分辨率。

iframe+transform,出bug似乎也不奇怪~

这期间也因为transform出现过模糊bug,但这篇文章的重点是textarea。

大致的情况如图:

在出现滚动条的时候,表单变得非常模糊。

而没有滚动条的时候:

页面就又恢复了清晰。

猜测原因:textarea本身高度不可控,chrome内核的浏览器在某些情况下(比如本项目的iframe+transform+滚动条+textarea边框)计算错误。用firefox浏览器显示是正确的。

解决方法:

textarea {
    border-radius: 0px;
}

这一行就让表单不模糊了。虽然解决方案只有一条,但这一条也是蒙出来的。

这个时候样式会变得很丑,也许你可以考虑给它的父元素加一点样式。

下面是我随便写的,同样很丑:

<a-form-item :label="$t('issueDescription')" name="note" class="form-description">
      <a-textarea
        v-model:value="formState.note"
        :placeholder="$t('inputPlaceholder')"
        :auto-size="{ minRows: 5, maxRows: 5 }"
      />
</a-form-item>
.form-description :deep(.ant-form-item-control-input-content) {
  border-width: 1px;
  border-style: solid;
  border-color: white;
  border-radius: 6px;
  textarea {
    border-radius: 0px;
  }
}

这个方法可能不适用于你的项目,对我来说也是玄学。如果有大佬知道具体原因,求指点~

热门相关:全能千金燃翻天   顶级气运,悄悄修炼千年   大唐扫把星   史上最强赘婿   恶魔总裁霸道宠:老婆,太惹火