微信小程序开发之程序选择组件,支持单列,多列,级联
白羽 2018-08-09 来源 :网络 阅读 2413 评论 0

摘要:本文将带你了解微信小程序开发之程序选择组件,支持单列,多列,级联,希望本文对大家学微信有所帮助

        本文将带你了解微信小程序开发之程序选择组件,支持单列,多列,级联,希望本文对大家学微信有所帮助


在 mpvue 开源之初写了 用 vue 写小程序,基于 mpvue 框架重写 weui 。当时用的是小程序的原生组件,没有对其进行封装和组件化。而对于现在的前端开发环境, 组件化 , 模块化 , 工程化 以及 自动化 已经是一种标配。而 mpvue 框架又提供了一个很好的组件化开发平台,因此就对小程序中的 picker 组件进行封装,使其在用 mpvue 开发的时候能够用快速的实现 picker 的功能。为什么封装 picker 组件其实小程序提供了原生的 picker 组件,但是在开发的时候会发现在 android 手机上看到的 picker 效果与 微信开发者工具 预览的效果不一样,其实就是丑了一点点...在小程序中使用 picker 的地方很多,很常见。使用安装npm install mpvue-picker --save 或者 cnpm install mpvue-picker --save在页面中使用<template>
  <div class="mpvue-picer">
    <button @click="showPicker">test for mpvuePicker</button>
    <mpvue-picker ref="mpvuePicker" :pickerValueArray="pickerValueArray" :pickerValueDefault='pickerValueDefault' @pickerConfirm="pickerConfirm"></mpvue-picker>
  </div>
</template>

<script>
import mpvuePicker from 'mpvue-picker';
export default {
  components: {
    mpvuePicker
  },
  data() {
    return {
      pickerValueArray: ['住宿费', '礼品费', '活动费', '通讯费', '补助'],
      pickerValueDefault: [1]
    };
  },
  methods: {
    showPicker() {
      this.$refs.mpvuePicker.show();
    },
    pickerConfirm(e) {
      console.log(e);
    }
  }
};
</script>

<style>
</style>初始化在父组件中调用 mpvuePicker 实例中的 show 方法即可。参数说明mode说明:picker 组件类型类型:String可选值:selector(单列)multiSelector(多列)multiLinkageSelector(级联)是否必填: 否默认值:selectorpickerValueArray说明:picker 渲染数据类型:Array可选值:-是否必填: 是默认值:-pickerValueDefault说明:picker 默认选中值类型:Array可选值:-是否必填: 否默认值:[]deepLength说明:几级联动类型:Number是否必填: 否默认值:2onChange说明:picer 组件滚动时回调,返回选中的数组索引类型:EventHandle可选值:-是否必填: 否默认值:-onConfirm说明:picer 组件点击确定时回调,返回选中的数组索引类型:EventHandle可选值:-是否必填: 否默认值:-效果相关数据结构说明单列pickerValueArray: ['住宿费', '礼品费', '活动费', '通讯费', '补助']多列pickerValueArray: [
  ['中国', '美国', '日本', '俄罗斯'],
  ['茶', '咖啡', '寿司', '奶酪'],
  ['歼20', 'F22', '秋月级', 'T50']
]点击展开二级联动数据结构pickerValueArray:
[
  {
    label: '飞机票',
    value: 0,
    children: [{
      label: '经济舱',
      value: 1
    },
    {
      label: '商务舱',
      value: 2
    }
    ]
  },
  {
    label: '火车票',
    value: 1,
    children: [{
      label: '卧铺',
      value: 1
    },
    {
      label: '坐票',
      value: 2
    },
    {
      label: '站票',
      value: 3
    }
    ]
  },
  {
    label: '汽车票',
    value: 3,
    children: [{
      label: '快班',
      value: 1
    },
    {
      label: '普通',
      value: 2
    }
    ]
  }
]点击展开三级联动数据结构pickerValueArray:
[
  {
    label: 'phone',
    value: 0,
    children: [
      {
        label: 'iphone',
        value: 1,
        children: [{
          label: 'iphoneX',
          value: 1
        },
        {
          label: 'iphone8',
          value: 2
        }, {
          label: 'iphone8 Plus',
          value: 3
        }]
      },
      {
        label: 'android',
        value: 1,
        children: [
          {
            label: 'vivo',
            value: 1
          },
          {
            label: '魅族',
            value: 2
          }, {
            label: '小米',
            value: 3
          }
        ]
      }
    ]
  },
  {
    label: 'PC',
    value: 0,
    children: [
      {
        label: 'mac',
        value: 1,
        children: [
          {
            label: 'macbook Pro',
            value: 1
          },
          {
            label: 'iMac',
            value: 2
          }, {
            label: 'mackbook',
            value: 3
          }, {
            label: 'mackbook air',
            value: 3
          }
        ]
      },
      {
        label: 'windows',
        value: 1,
        children: [
          {
            label: 'dell',
            value: 1
          },
          {
            label: 'surface',
            value: 2
          }, {
            label: 'thinkpad',
            value: 3
          }
        ]
      }
    ]
  }
]相关说明对于多级联动,由于没有动态添加 picker 列数以及动态渲染其值,因此目前只支持 二级联动和三级联动。    

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之微信频道!

本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程