背景
使用 Element Plus 组件库的 Input 输入框时,如果同时设置 type="textarea 和 clearable,clearable 不会起作用
首先我想到的方法是 #suffix 插槽解决,但是这个插槽也是针对 input 的,textarea 也不会生效
实现方案
使用组件库自带的 Icon 组件,使用定位的方式,将图标放在文本域中。同时手动实现清空效果。
代码参考:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| <template> <el-input v-model="form.content" type="textarea" maxlength="1000" placeholder="请输入详细内容" show-word-limit word-limit-position="outside" /> <el-icon v-if="form.content" class="textarea-clear" @click="clearContent"> <CircleClose/> </el-icon> </template>
<script setup lang="ts"> const clearContent = () => { form.content = '' } </script>
<style lang="scss" scoped> .textarea-clear { position: absolute; right: 10px; top: 10px; color: #91949a; } </style>
|
效果如图:
