微信小程序-编辑名片页面开发
取到 userId。![]() 使用微信自带的 input 组件验证也非常好用,如 maxLength 属性,可以限制用户输入长度,如我这的姓名长度是最大 5 位,直接数字 5 即可。 ![]() 也可以自定义一些验证效果,具体可以根据需求进行一些验证配置,取到用户输入的值,进行操作。 ![]() 这里绑定了自带的模态框提示组件。 ![]() 其中 modalHidden2 是模态框开关。 另外 proptText 是需要提示的内容。 即使很多输入框也支持数据动态改变,非常方便。
|
首先名片列表,名片上的字母索引都在 scroll-view 里面,这个 scroll-view 必须设置好固定的高度,设置成 100% 与 100vh 是无效的,y 轴的滚动开关打开,scroll-into-view 需要跳转到它子元素的 id 上。

可以看下:

这个 group.name==sortmsg,等于就是 A==A,B==B 同理。


在这里如顶部有些菜单栏的话,你就要注意好布局了,不然会出现向下偏移这个菜单栏的高度,其实你只要和字母索引同级下即可避免此问题(这里的顶部菜单以模板分离出去了,分离模板的时候需注意下,需要在这里绑定模板的一些数据会出现失效,具体没有继续深入研究下去)。

跳转功能基本实现(ohter 就是 # 底部)。

Onload 时我们请求必填与选填数据:
requiredGroup 必填中文信息
notRequiredGroup 选题中文信息
requiredGroupEn 必填英文信息
notRequiredGroupEn 选题英文信息
- //请求名片对应的公司的中文信息的属性组数据,分为必填和选填//选题项变量以no开头 requester.getOfflineCardInfoGroupFields(userId, cardId,
- function (res) { //debugger
- var userName = res.card.userName;
- var mobile = res.card.mobile;
- var requiredGroup = res.requiredGroupCh;
- var notRequiredGroup = res.notRequiredGroupCh;
- var requiredGroupEn = res.requiredGroupEn;
- var notRequiredGroupEn = res.notRequiredGroupEn;
- var reqLen = requiredGroup.fields.length;
- var nreqLen = notRequiredGroup.fields.length;
- var reqLenEn = requiredGroupEn.fields.length;
- var nreqLenEn = notRequiredGroupEn.fields.length; self.setData({ userName: userName, mobile: mobile, requireFields: requiredGroup.fields, notRequireFields: notRequiredGroup.fields, requireFieldsEn: requiredGroupEn.fields, notRequireFieldsEn: notRequiredGroupEn.fields, l1: reqLen, l2: nreqLen + reqLen, l3: reqLenEn + nreqLen + reqLen
- });
- self.forceUpdate();
- }, function (code, msg) {
- console.info(“code=” + code + “&msg=” + msg);
- });
复制代码
中英文信息必填与选填渲染:
这里表单提交数据转换有点复杂(大家根据业务需求来做,不必花时间研究这里的方法),获取的是数组,按照后台需要的数据格式进行转换传递过去。

今天再回去理下首页 A、B、C 定点跳转功能实现方法。

首先是右边小索引布局以及数据绑定,数据绑定和名片夹列表上的字母一样,该字母下面有名片则渲染出来,没有则不需要渲染,id同样是当前字母与右边显示的内容一样:

数据 sort,和 group.name 数据一样:

这里是因为 # 不支持设为 id(就是 id=”#”),故而进行了一个转化。
![]()
点击事件:获取到当前 ID,以及绑定数据 toView 为当前 ID。























