微信小程序用户输入任意数字 如何两排向下排序
时间: 2024-03-18 20:41:15 浏览: 90
在微信小程序中,可以使用JS动态生成盒子,然后使用Flex布局来实现用户输入任意数字后两排向下排序的效果。具体实现方法如下:
```html
<view class="container"></view>
```
```css
.container {
display: flex;
flex-wrap: wrap;
justify-content: center;
}
.box {
width: 50px;
height: 50px;
background-color: #f5f5f5;
margin: 5px;
}
```
在上面的代码中,我们使用一个`.container`容器来动态生成盒子,然后在`.container`的样式中,使用`display: flex;`将其设置为Flex布局,并使用`flex-wrap: wrap;`实现换行,使用`justify-content: center;`将每行的盒子在主轴上居中对齐。
接着,我们使用JS动态生成盒子,代码如下:
```js
Page({
data: {
num: 0,
boxes: []
},
onInput: function(e) {
const num = parseInt(e.detail.value)
if (!isNaN(num) && num > 0) {
const boxes = Array.from({length: num}, (_, i) => i + 1)
this.setData({
num,
boxes
})
} else {
this.setData({
num: 0,
boxes: []
})
}
}
})
```
在上面的代码中,我们使用`onInput`方法监听用户输入,并将输入的数字转换为整数,然后使用`Array.from`方法根据用户输入的数字动态生成盒子,并将盒子数组保存在`boxes`中,最后将`num`和`boxes`保存在页面数据中,以便在后面使用。
最后,我们在`.container`中使用`wx:for`指令遍历`boxes`数组,动态生成盒子,代码如下:
```html
<view class="container">
<view class="box" wx:for="{{boxes}}" wx:key="{{index}}">{{item}}</view>
</view>
```
这样,当用户输入数字后,盒子会自动根据输入的数字动态生成,并保持两排向下排序的效果。
阅读全文