根据ui设计稿,

本来思路是一个input搞定,下面的线使用背景图

background:url('/images/line.png')no-repeat bottom center;

然后使用letter-spacing,让字体间隔开。

但是遇到了小程序的坑,letter-sapcing在input中没效果。

于是我gitlab上找到一个,模拟光标输入框的源码,并借鉴了作者的思路。(链接如下:https://github.com/evan2020/six-Input-box)

于是我的新思路是这样的:

仍然使用一个input,并设置auto-focus,这样当进入页面的时候,手机端会自动弹出数字键盘。

然后模拟光标的css如下:

.cursor {
width: 1px;
height:80rpx;
background-color: #2AC3A4;
animation: focus 0.7s infinite;
} /* 光标动画 */ @keyframes focus {
from {
opacity:;
} to {
opacity:;
}
}

1)input设置margin-left:-100%,不显示在页面可视区域中,

2)上面线框位置,使用view标签,仍然使用背景图展示下面的间断线

3)使用bindinput监听input值的变化,并通过numList = [...e.detail.value]将input的值(字符串)转换为数组。并渲染在view中

<view id="searchNum" class="set-number" style="background:url({{line}}) no-repeat bottom center;background-size:100%">
<view class="set-number-content">
<view wx:if="{{!numList.length}}" class="cursor"></view>
<text wx:if="{{numList.length}}">{{numList[0]}}</text>
</view>
<view class="set-number-content">
<view wx:if="{{numList.length===1}}" class="cursor"></view>
<text wx:if="{{numList.length>=2}}">{{numList[1]}}</text>
</view>
<view class="set-number-content">
<view wx:if="{{numList.length===2}}" class="cursor"></view>
<text wx:if="{{numList.length>=3}}">{{numList[2]}}</text>
</view>
<view class="set-number-content">
<view wx:if="{{numList.length===3}}" class="cursor"></view>
<text wx:if="{{numList.length>=4}}">{{numList[3]}}</text>
</view>
</view>

大家有更好的思路的,欢迎来赐教

最新文章

  1. Source Insight 3.X 插件新loader发布
  2. day11---异步IO\数据库\队列\缓存
  3. inline-block 左边固定,右边自适应
  4. apply,call,bind的区别
  5. 使用VirtualEnvWrapper隔离python项目的库依赖
  6. 3d中的向量
  7. DB天气app冲刺二阶段第八天
  8. VC++深入详解-第一章学习心得(一)
  9. _.each的用法2
  10. 免费的编程中文书籍索引 from github
  11. Spring源码情操陶冶-AbstractApplicationContext#registerBeanPostProcessors
  12. 201521123070 《JAVA程序设计》第14周学习总结
  13. 移动端右侧导航 显示隐藏js
  14. 移动端头部固定,上划逐渐透明 (vue)
  15. DTO/DO等POJO对象的使用场景和 orika-mapper 框架的使用
  16. 服务器重新启动,ftp重新连接问题
  17. Spring 集成Junit单元测试
  18. ios alloc init 和 new 的区别
  19. Java标识符
  20. python导包显示No module named XXX问题

热门文章

  1. PHP在Linux的Apache环境下乱码解决方法
  2. profibus
  3. 8 Mistakes to Avoid while Using RxSwift. Part 1
  4. [Shell] echo/输出 中引用命令
  5. 一个单元格占两行三列的HTML代码为
  6. MyBatis源码分析(各组件关系+底层原理
  7. 复习MySQL①创建数据库及数据表
  8. Vue学习之路第十一篇:为页面元素设置class类样式
  9. ansible --help 文档
  10. matplotlib 显示两张图片,折线图 和 scipy