- 需求的场景描述(希望解决的问题)
我有一个只显示一行的text组件,然后里面的文字会通过点击事件不停的增加,当文字内容超出这一行后,后面的会被隐藏,然后点击增加文字没有可见的反应,因为后面的文字被不断隐藏,前面的保持不变。现在我希望,当文字内容超出一行后,文字整体会忘左移动,显示最后面的,超出的前面部分被隐藏,求解
- 希望提供的能力
<div class="test-box">
<div class="test">{{testStr}}</div>
</div>
<button [@click](/user/click)="addTest">添加文字</button>
JS
testNum: 0,testStr: '还记得防火防盗发的话'
addTest() {
let arr = ['我', '你', '他', '她']
this.testStr = this.testStr + arr[this.testNum]
this.testNum++
if (+this.testNum > 3) {
this.testNum = 0
}
},
CSS
.test-box
height: 20px
position: relative
.test
line-height: 20px
position: absolute
right: 0
top: 0
white-space: nowrap
试试看
< view style = 'position:relative;' > < scroll-view scroll-x = "true" class = "nav" scroll-into-view = "{{moveFlag}}" > < view class = "nav_1 " bindtap = 'batch' data-type = "backTel" hover-class = 'click-hov' >通讯录</ view > < block wx:for = "{{titles}}" wx:key = "item" > < view class = "n_ico iconfont icon-you " ></ view > < view class = "nav_1" bindtap = 'lookDpt' data-type = "tit" data-index = "{{index}}" hover-class = 'click-hov' >{{item}}</ view > </ block > < view class = "nav_1 bumen" id = "myDpt" > </ view > </ scroll-view > </ view > |
nav { width: 750 rpx; height : 115 rpx; line-height : 115 rpx; box-sizing:border-box; padding : 0 23 rpx; background-color : #fff ; white-space : nowrap ; |
添加的时候更改scroll-into-view的值了,给最后一个元素的id对应就行了
### 问题解决
wxss
```
.test {
position: absolute;
right: 0;
white-space: nowrap;
}
```
wxml
```
<text bindtap="add" class="test">
{{test}}
</text>
```
js
```
add() {
this.test += ['+1', '+22', '+333'][Math.ceil(Math.random() * 2)];
},
```
### 解决思路
-
设置`text`居右对齐 -> 增加文字时多的文字就会向前靠
-
设置`text`绝对定位 -> 元素变宽后,会向左边延伸
### 建议
-
这只是一个业务问题
-
自己理一下思路,找到问题点,搜索一下即可.
-
怀疑你自己去google过没有
-
下面是我用你的问题google.第一条结果就可以解决你的问题.
先看看这篇提问之前应该做的事情吧
没有做到这四点,请不要提问
https://developers.weixin.qq.com/community/develop/doc/0002060d8f84302c56c71efca51c04