应用中最常见的就是轮播图了,今儿个就讲讲微信小程序中轮播图的使用
轮播图,不外乎俩个要素,跳转链接 和 图片地址
1. 设置数据
我在 pages/test/test.js中添加如下数据
//test.js
//获取应用实例
var app = getApp()
Page({
data: {
imgUrls: [
{
link:'/pages/index/index',
url:'http://img02.tooopen.com/images/20150928/tooopen_sy_143912755726.jpg'
},{
link:'/pages/logs/logs',
url:'http://img06.tooopen.com/images/20160818/tooopen_sy_175866434296.jpg'
},{
link:'/pages/test/test',
url:'http://img06.tooopen.com/images/20160818/tooopen_sy_175833047715.jpg'
}
],
indicatorDots: true,
autoplay: true,
interval: 5000,
duration: 1000,
userInfo: {}
},
onLoad: function () {
console.log('onLoad test');
}
})
其中 imgUrls 是我们轮播图中将要用到的 图片地址和 跳转链接
indicatgorRots是否出现焦点
autoplay是否自动播放
interval自动播放间隔时间
duration滑动动画时间
更多样式编辑请参看文档 https://mp.weixin.qq.com/debug/wxadoc/dev/component/swiper.html?t=1475052054228
2. 部署到页面
找到 文件 pages/test/test.wxml
<swiper indicator-dots="{{indicatorDots}}"
autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}">
<block wx:for="{{imgUrls}}">
<swiper-item>
<navigator url="{{item.link}}" hover-class="navigator-hover">
<image src="{{item.url}}" class="slide-image">
</navigator>
</swiper-item>
</block>
</swiper>
注意:swiper 千万不要在外面 加上任何标签 例如 <view> 之类的 ,如果加了可能会导致轮播图出不来
3. 添加页面样式
创建文件 pages/test/test.wxss
.slide-image{
width: 100%;
}
加上上面的样式可以使 轮播图的宽度达到100% 然后更漂亮点,当然可以根据自己的喜好罗!
看效果
二:数据请求 表单的创建 提交 与接收
开始正题了,本节小小研究了下微信小程序的表单创建与提交
先看看效果
1. 表单页面
<view id="adduser"> <form bindsubmit="formSubmit" bindreset="formReset"> <view class="section"><view class="section__title">姓名:</view><view class='form-group'> <input type="text" class="input-text" name="username" placeholder="请输入姓名" /></view> </view> <view class="section section_gap"><view class="section__title">年龄:</view><view class='form-group'> <slider name="age" show-value ></slider></view> </view> <view class="section section_gap"><view class="section__title">性别:</view><view class='form-group'> <radio-group name="gender"><label><radio value="1"/>男</label><label><radio value="0"/>女</label> </radio-group></view> </view> <view class="section"><view class="section__title">地区选择:</view><view class='form-group'> <picker bindchange="bindPickerChange" value="{{index}}" range="{{array}}"> <view class="picker"><input type="hidden" disabled="true" name="addr" value="{{array[index]}}"/> </view> </picker></view> </view> <view class="section section_gap"><view class="section__title">爱好:</view><view class='form-group'> <checkbox-group name="hobby"> <label><checkbox value="羽毛球"/>羽毛球</label> <label><checkbox value="游泳"/>游泳</label> </checkbox-group></view> </view> <view class="section section_gap"><view class="section__title">是否显示:</view><view class='form-group'> <switch name="isshow"/></view> </view> <view class="section btn-area"><button formType="submit">提交</button><button formType="reset">清空</button> </view> </form> <!-- 黑框提示并消失 --> <toast hidden="{{toast1Hidden}}" bindchange="toast1Change"> {{notice_str}} </toast> <!-- 确认框 及 提示框 --> <view class="page__bd"> <modal title="确认" confirm-text="确定" cancel-text="取消" hidden="{{modalHidden}}" mask bindconfirm="confirm_one" bindcancel="cancel_one">确认提交么? </modal> <modal class="modal" hidden="{{modalHidden2}}" no-cancel bindconfirm="modalChange2" bindcancel="modalChange2"><view> 提示 </view><view> 清空成功 </view> </modal> </view></view>
2. js 代码
var app = getApp();Page({ data:{ // text:"这是一个页面" array:["中国","美国","巴西","日本"], toast1Hidden:true, modalHidden: true, modalHidden2: true, notice_str: '', index:0 }, toast1Change:function(e){ this.setData({toast1Hidden:true}); }, //弹出确认框 modalTap: function(e) { this.setData({modalHidden: false }) }, confirm_one: function(e) { console.log(e); this.setData({modalHidden: true,toast1Hidden:false,notice_str: '提交成功' }); }, cancel_one: function(e) { console.log(e); this.setData({modalHidden: true,toast1Hidden:false,notice_str: '取消成功' }); }, //弹出提示框 modalTap2: function(e) { this.setData({modalHidden2: false }) }, modalChange2: function(e) { this.setData({modalHidden2: true }) }, bindPickerChange: function(e) { console.log('picker发送选择改变,携带值为', e.detail.value) this.setData({index: e.detail.value }) }, onLoad:function(options){ // 页面初始化 options为页面跳转所带来的参数 }, onReady:function(){ // 页面渲染完成 }, onShow:function(){ // 页面显示 }, onHide:function(){ // 页面隐藏 }, onUnload:function(){ // 页面关闭 }, formSubmit: function(e) { var that = this; var formData = e.detail.value; wx.request({url: 'http://test.com:8080/test/socket.php?msg=2',data: formData,header: { 'Content-Type': 'application/json'},success: function(res) { console.log(res.data) that.modalTap();} }) }, formReset: function() { console.log('form发生了reset事件'); this.modalTap2(); }})
3. 部分样式
#adduser{ background: #f5f5f5;}.section__title{ float: left; width:30%;}.form-group{ float: right; width: 70%;}.section{ clear: both; width:90%; margin: 2rem auto;}.input-text{ border: 1px solid #ddd;}.button{ border: 1px solid #1aad19; border-radius: 2px;}.picker{ padding: 13px; background-color: #FFFFFF;}
4. 服务器端
<?phpvar_dump($_REQUEST);
本节 集合了表单 https://mp.weixin.qq.com/debug/wxadoc/dev/component/form.html?t=1476197486816数据请求https://mp.weixin.qq.com/debug/wxadoc/dev/api/network-request.html?t=1476197484427
提示框 https://mp.weixin.qq.com/debug/wxadoc/dev/component/toast.html?t=1476197486420
确认和非确认框 https://mp.weixin.qq.com/debug/wxadoc/dev/component/modal.html?t=1476197489278
以及相关表单 的信息 , 之后将分解讲解 对应的小功能。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。