vue3使用element-plus制作水印

在element plus文档的示例代码如下:

<script setup lang="ts">
import { reactive, watch } from 'vue'
import { isDark } from '~/composables/dark'

const font = reactive({
  color: 'rgba(0, 0, 0, .15)',
})

watch(
  isDark,
  () => {
    font.color = isDark.value
      ? 'rgba(255, 255, 255, .15)'
      : 'rgba(0, 0, 0, .15)'
  },
  {
    immediate: true,
  }
)
</script>

<template>
  <el-watermark :font="font">
    <div style="height: 500px" />
  </el-watermark>
</template>

当我使用文档里面的代码时

import { reactive, watch } from 'vue'
import { isDark } from '~/composables/dark'

首先得去源码里面去复制了dark.ts里的代码。

结果是它并不生效,我甚至怀疑是我的水印层级不够,被覆盖了,后来发现不是。

是文字的颜色跟随了浏览器颜色变化而变化。如果你的浏览器系统是深色的,文字则会变成白色。

所以正确的解决方法是 要么去掉watch监听的代码,要么就更换一下三目表达式的顺序,把color设置成正确的颜色即可。

其次,当你想将水印设置成文字时,可直接添加在属性中 :content=[''],设置多行或单行

<el-watermark :font="font" :content="['Element+', 'Element Plus']">
    <div style="height: 500px" />
 </el-watermark>
  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值