<view  wx:for="{{array}}"  wx:key="this" class="borderContainer">
<view class="borderContainer1">
<view class="firstBorder">
<view class="firstBorderInput">
<input maxlength="6" bindinput="persionInput{{index}}" wx:if="{{index==0}}" class="textArea" value="{{persionName0}}"></input>
<input maxlength="6" bindinput="persionInput{{index}}" wx:if="{{index==1}}" class="textArea" value="{{persionName1}}"></input>
<input maxlength="6" bindinput="persionInput{{index}}" wx:if="{{index==2}}" class="textArea" value="{{persionName2}}"></input>
<input maxlength="6" bindinput="persionInput{{index}}" wx:if="{{index==3}}" class="textArea" value="{{persionName3}}"></input>
</view>
<view class="line" ></view>
<view class="rightImageBorder">
<picker bindchange="bottomdowm{{index}}" data-value="{{pickArray[index]}}" data-index="{{index}}" value="{{index}}" range="{{pickArray}}" class="pickBorder">
<image src="/pages/me/houseOperation/creatFamily/image/button_down.png" class="rightImage"></image>
</picker>
</view>
</view>
</view>
<view class="rightBorder">
<input type="number" bindinput="persiontelInput{{index}}" placeholder="请输入成员号码" maxlength="11" class="cyinputtel"></input>
</view>
</view>
.borderContainer {
height: 10vw;
} .borderContainer1 {
float: left;
padding-left: 4.5vw;
} .firstBorder {
line-height: 7.2vw;
border: 2rpx solid #a0a0a0;
border-radius: 10rpx;
display: flex;
align-items: center;
width: 35vw;
} .firstBorderInput {
display: black;
width: 45%;
line-height: 5vw;
} .line {
width: 1%;
height: 6.2vw;
border-right: 1px solid #a0a0a0;
margin-top: 1vw;
margin-bottom: 1vw;
} .rightImageBorder {
width: 54%;
display: flex;
align-items: center;
position: relative;
} .pickBorder {
padding-bottom: 4.3vw;
}
.rightImage{
height:4.2vw;width:4.2vw; position: absolute;right:41%;
}
.rightBorder{
display:inline-block;margin:0 1vw;width:40vw;height: 8.2vw;line-height: 8.2vw;border-radius:8rpx;border:2rpx solid #A0A0A0;
}
.meber_add_off_Image{
width: 52rpx;height: 45rpx;margin:0 2vw;
}
Page({
/**
* 页面的初始数据
*/
data: {
persionNameResult: [],
persionTelResult: [],
//成员名称
persionName0: '',
persionName1: '',
//成员号码
persiontel0: '',
persiontel1: '',
nowIdx: -1,
array: [{
member: '',
memberPhone: ''
}],
pickArray: [
'爸爸',
'妈妈',
'老婆',
'儿子',
'女儿',
],
}
//动态添加view
addItem: function(e) {
var that = this;
let array = {
member: '',
memberPhone: ''
};
var page = that.data.page;
if (page < 4) {
that.setData({
array: that.data.array.concat(array),
page: that.data.page + 1,
});
} else {
wx.showToast({
title: '掌上管家:最多添加四个',
icon: 'none'
});
return false;
}
}, persionInput0: function(e) {
this.setData({
persionName0: e.detail.value
})
},
persionInput1: function(e) {
this.setData({
persionName1: e.detail.value
})
}, persiontelInput0: function(e) {
this.setData({
persiontel0: e.detail.value
})
},
persiontelInput1: function(e) {
this.setData({
persiontel1: e.detail.value
})
},
formSubmit() {
var that = this;
var persionName0 = that.data.persionName0;
var persionName1 = that.data.persionName1;
var persiontel0 = that.data.persiontel0;
var persiontel1 = that.data.persiontel1;
if (persiontel0 == '' || persiontel1 == '') {}
if (persiontel0 != '' && persionName0 == '') {
wx.showToast({
title: '掌上管家:请输入成员名称',
icon: 'none'
})
return false;
}
if (persiontel0 == '' && persionName0 != '') {
wx.showToast({
title: '掌上管家:请输入成员号码',
icon: 'none'
})
return false;
}
if (persiontel0 != '' && !(/^1[34578]\d{9}$/.test(persiontel0))) {
wx.showToast({
title: '掌上管家:请输入正确的成员号码',
icon: "none",
mask: true,
duration: 2000
})
}
if (persiontel1 != '' && persionName1 == '') {
wx.showToast({
title: '掌上管家:请输入成员名称',
icon: 'none'
})
return false;
}
if (persiontel1 == '' && persionName1 != '') {
wx.showToast({
title: '掌上管家:请输入成员号码',
icon: 'none'
})
return false;
}
if (persiontel1 != '' && !(/^1[34578]\d{9}$/.test(persiontel1))) {
wx.showToast({
title: '掌上管家:请输入正确的成员号码',
icon: "none",
mask: true,
duration: 2000
})
} var persionNameResult = that.data.persionNameResult; persionNameResult.push(persionName0);
persionNameResult.push(persionName1);
//console.log(persionNameResult);
for (var i = 0; i < persionNameResult.length; i++) {
if (persionNameResult[i] == "" || typeof(persionNameResult[i]) == "undefined") {
persionNameResult.splice(i, 1);
i = i - 1;
}
}
var tjpersionName = persionNameResult.join(",");
//*********************************************** */
var persionTelResult = that.data.persionTelResult;
persionTelResult.push(persiontel0);
persionTelResult.push(persiontel1);
for (var i = 0; i < persionTelResult.length; i++) {
if (persionTelResult[i] == "" || typeof(persionTelResult[i]) == "undefined") {
persionTelResult.splice(i, 1);
i = i - 1;
}
}
var tjpersionTel = persionTelResult.join(",");
wx.request({
url: app.globalData.address + 'url', header: {
// 'content-type': 'application/json;charset=utf-8'
'content-type': 'application/x-www-form-urlencoded'
},
data: {
//手机号码
usersArray: tjpersionTel
//昵称
nickNamesArray: tjpersionName
},
method: "POST",
success: function(res) {
console.log(res.data);
if (res.data.errCode == 1000) {
wx.showToast({
title: '创建成功',
icon: 'none'
});
setTimeout(function() {
wx.navigateTo({
url: 'url?homeId=' + res.data.homeId
})
}, 1000)
} else {
wx.showToast({
title: '创建失败',
icon: 'loading',
duration: 1200
})
}
},
fail: function() {
wx.showToast({
title: '服务器网络错误!',
icon: 'loading',
duration: 1500
})
}
})
},
})
  persionInput0: function(e) {
this.setData({
persionName0: e.detail.value
})
},
persionInput1: function(e) {
this.setData({
persionName1: e.detail.value
})
},
persionInput2: function(e) {
this.setData({
persionName2: e.detail.value
})
},
bottomdowm: function (e) {
var nowData = this.data.pickArray;
var nowIdx = e.detail.value;
var nowindex = nowData[nowIdx];
this.setData({
persionName: nowindex
})
},
bottomdowm0: function(e) {
var nowData = this.data.pickArray;
var nowIdx = e.detail.value;
var nowindex = nowData[nowIdx];
this.setData({
persionName0: nowindex,
})
},
bottomdowm1: function(e) {
var nowData = this.data.pickArray;
var nowIdx = e.detail.value;
var nowindex = nowData[nowIdx];
this.setData({
persionName1: nowindex
})
},

  这里所做的就是通过array动态添加view的功能,在为每个动态的picker以及input操作中,都是通过提取array的index操作来为其目标项添加值得操作,虽然这里动态添加的项不是很多,但是多个的话难免有点代码冗余。本人开发小程序不久,如有更好的思路以及做法请在下方留言,一起学习,虽然问题简单,但能够解决问题也是一件很非凡的事!!

微信小程序之一:动态添加view(view包含picker,input)的更多相关文章

  1. 微信小程序之动态添加、删除指定内容(view)和获取input值

    这次遇到个问题: 1. 动态的添加指定的view内容..嗯..很简单..wx:for就搞定 2. 动态添加的内容中有input,最终获取值的时候,要获取到所有input的值并且是一个数组..嗯.. 3 ...

  2. 微信小程序把玩(八)view组件

    原文:微信小程序把玩(八)view组件 刚看到这个效果的时候还真是和ReactNative的效果一致,属性也基本的一样. view这个组件就是一个视图组件使用起来非常简单. 主要属性: flex-di ...

  3. 微信小程序之动态获取元素宽高

    我以前一直以为微信小程序不能动态获取view元素的宽高.但是自从看到: wx.createSelectorQuery() 这个api接口,以前的某些问题就能得到解决了... 那么,这个api接口怎么用 ...

  4. 关于微信小程序的动态跳转

    最近在研究微信小程序.在做一个简单的购物小程序时,遇到一个问题:如何通过扫码实现动态的跳转页面功能, 通过研究终于找到了解决方法: 首先当然要实现扫码解析功能js的代码: click: functio ...

  5. 微信小程序 JS动态修改样式

    微信小程序这个坑啊,js动态修改样式,我们并不能用js或者jq 轻轻松松一行代码搞定.或者用removeClass addClass 来修改样式. 以下是一种动态修改样式的方法,原理是绑定数据,然后动 ...

  6. 微信小程序如何动态增删class类名

    简述 由于微信小程序开发不同于以往的普通web开发, 因此无法通过js获取wxml文件的dom结构, 因此从js上直接添加一个类名应该不可能了. 可是我们可以通过微信小程序数据绑定以及view标签的& ...

  7. 微信小程序如何动态增删class类名达到切换tabel栏的效果

    微信小程序和vue还是有点差别的,要想实现通过动态切换class来达到切换css的效果,请看代码: //wxml页面: <view class="tab"> <v ...

  8. 如何实现微信小程序动画?添加到我的小程序动画实现详细讲解,轻松学会动画开发!附壁纸小程序源码下载链接

    为了让用户能尽可能多地使用小程序,也算是沉淀用户,现在很多小程序中,都有引导用户"添加到我的小程序"的操作提示,而且大多都是有动画效果.在高清壁纸推荐小程序首页,用户每次进入,都会 ...

  9. 微信小程序--地图上添加图片

    如何在微信小程序地图添加上,添加图片? 在微信小程序中,地图的层级最高,所以我们没有办法,通过定位,在地图上添加图片等信息; 处理办法: 添加控件:controls; 其中有个属性position,进 ...

  10. 【微信小程序】动态设置图片大小

    我们都知道微信小程序的组件image是用来显示图片的,它有一下几个属性:1.src              图片资源地址2.mode          图片裁剪.缩放的模式3.binderror   ...

随机推荐

  1. 35、sparkSQL及DataFrame

    一.saprkSQL背景 Spark 1.0版本开始,推出了Spark SQL.其实最早使用的,都是Hadoop自己的Hive查询引擎:但是后来Spark提供了Shark:再后来Shark被淘汰,推出 ...

  2. 2D到3D视频转换 三维重建

    2D到3D视频转换(也称为2D到立体3D转换和立体转换)是将2D(“平面”)胶片转换为3D形式的过程,几乎在所有情况下都是立体声,因此它是创建图像的过程.每个眼睛来自一个2D图像. 内容 1概述 1. ...

  3. CodeForeces 842d Vitya and Strange Lesson ——(带lazy标记的01字典树)

    给一个序列,每次操作对这个序列中的所有数异或一个x,问每次操作完以后整个序列的mex值. 做法是去重后构建01字典树,异或x就是对root加一个x的lazy标志,每次pushDown时如果lazy的这 ...

  4. DELPHI开发LINUX的动态库

    DELPHI开发LINUX的动态库 WINDOWS的动态库是.dll,这个大家都知道. LINUX也有动态库,扩展名是.so,现在DELPHI也能开发LINUX的动态库哦. DELPHI对LINUX的 ...

  5. JVM内存空间划分与作用

    虚拟机栈:Stack Fame 栈桢 程序计数器(Program Counter): 本地方法栈:主要用于处理本地方法 堆(Heap): JVM管理的最大一块内存空间 方法区(Method Area) ...

  6. 网络分裂 redis 集群

    REDIS cluster-tutorial -- Redis中文资料站 -- Redis中国用户组(CRUG) http://www.redis.cn/topics/cluster-tutorial ...

  7. Elasticsearch和Head插件安装(转)

    环境: CentOS7  Elasticsearch-6.3.2 JDK8 准备: JDK8 下载地址:http://www.oracle.com/technetwork/java/javase/do ...

  8. 图像处理代码举例(C++、MATLAB、OpenCV)

    一.C中用数组存图像信息,下标索引: pbTag[y*newWidth+x] 见:https://www.cnblogs.com/wxl845235800/p/11149853.html HRESUL ...

  9. git-scm教程摘要

    Git 有三种状态 已提交(committed).已修改(modified)和已暂存(staged) 已提交表示数据已经安全的保存在本地数据库中. 已修改表示修改了文件,但还没保存到数据库中. 已暂存 ...

  10. [原][OE][官方例子]osgearth_features OE地球添加shp文件(特征标识)

    OE所有官方样例 官方示例代码 /* -*-c++-*- */ /* osgEarth - Dynamic map generation toolkit for OpenSceneGraph * Co ...