经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » JS/JS库/框架 » Vue.js » 查看文章
【UniApp】-uni-app-动态计算字体大小(苹果计算器)
来源:cnblogs  作者:BNTang  时间:2023/12/26 9:50:12  对本文有异议

前言

  • 本文主要介绍uni-app中动态计算字体大小的方法
  • 原因呢就是在上一篇文章当中我发现输入的内容已经超过了展示区域

  • 于是我就想到了动态计算字体大小的方法,这样就可以保证输入的内容不会超过展示区域

正文

  • 首先要改造的是 style="font-size: 180rpx;"

  • 这里不能直接写死,而是要动态改变,所以我在 data 当中定义了一个变量 curFontSize,默认值为 "180rpx", 并且替换掉了原来的 style="font-size: 180rpx;"
  1. curFontSize: "180rpx",
  1. :style="{fontSize: curFontSize}"

  • 然后下一步要做的事情就是监听输入内容的变化,动态改变 curFontSize 的值
  • 这里使用 watch 监听 showValue 的变化,然后在回调函数中动态计算 curFontSize 的值
  1. watch: {
  2. showValue(newVal, oldVal) {
  3. newVal += "";
  4. switch (newVal.length) {
  5. case 8:
  6. this.curFontSize = "160rpx";
  7. break;
  8. case 9:
  9. this.curFontSize = "150rpx";
  10. break;
  11. case 10:
  12. this.curFontSize = "130rpx";
  13. break;
  14. case 11:
  15. this.curFontSize = "120rpx";
  16. break;
  17. default:
  18. this.curFontSize = "180rpx";
  19. break;
  20. }
  21. }
  22. },
  • 首先我将 newVal 转换为字符串,然后根据字符串的长度来动态计算 curFontSize 的值
  • 这里我设置了 5 种情况,当输入的内容长度为 8 时,字体大小为 160rpx,当输入的内容长度为 9 时,字体大小为 150rpx,当输入的内容长度为 10 时,字体大小为 130rpx
  • 当输入的内容长等于 11 时,字体大小为 120rpx,这里我设置的最小值为 120rpx,当然你也可以设置为更小的值,这里就不再赘述了
  • 最后一种情况就是默认情况,当输入的内容长度不在上述范围内时,字体大小为 180rpx
  • 这样就可以保证输入的内容不会超过展示区域了
  • 当然这里的字体大小是可以根据自己的需求来设置的,这里只是给出了一个参考值

运行效果如下:

End

  • 如果你有任何问题或建议,欢迎在下方留言,我会尽快回复
  • 如果你觉得本文对你有帮助,欢迎点赞、收藏,你的支持是我写作的最大动力

原文链接:https://www.cnblogs.com/BNTang/p/17927047.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号