mui中picker(选择器)的使用

 

1.引入文件

   1.1、先引入mui.picker.css和mui.picker.js

  1.2、再引入mui-popicker.css和mui-popicker.js

2.实际使用demo

   2.1、标签模板的写法

                 <h5 class="mui-content-padded">普通示例</h5>
                <button id='showUserPicker' class="mui-btn mui-btn-block" type='button'>一级选择示例 ...</button>
                <div id='userResult' class="ui-alert"></div>
                <h5 class="mui-content-padded">级联示例</h5>
                <button id='showCityPicker' class="mui-btn mui-btn-block" type='button'>二级联动示例 ...</button>
                <div id='cityResult' class="ui-alert"></div>
                <button id='showCityPicker3' class="mui-btn mui-btn-block" type='button'>三级联动示例 ...</button>
                <div id='cityResult3' class="ui-alert"></div>

   2.2、js的写法

  (function($, doc) {
                $.init();
                $.ready(function() {
                    //普通示例
                    var userPicker = new $.PopPicker();
                    userPicker.setData([{
                        value: 'ywj',
                        text: '董事长 叶文洁'
                    }, {
                        value: 'aaa',
                        text: '总经理 艾AA'
                    }, {
                        value: 'lj',
                        text: '罗辑'
                    }, {
                        value: 'ymt',
                        text: '云天明'
                    }, {
                        value: 'shq',
                        text: '史强'
                    }, {
                        value: 'zhbh',
                        text: '章北海'
                    }, {
                        value: 'zhy',
                        text: '庄颜'
                    }, {
                        value: 'gyf',
                        text: '关一帆'
                    }, {
                        value: 'zhz',
                        text: '智子'
                    }, {
                        value: 'gezh', 
                        text: '歌者'
                    }]);
                    var showUserPickerButton = doc.getElementById('showUserPicker');
                    var userResult = doc.getElementById('userResult');
                    showUserPickerButton.addEventListener('tap', function(event) {
                        userPicker.show(function(items) {
                            userResult.innerText = JSON.stringify(items[0]);
                            //返回 false 可以阻止选择框的关闭
                            //return false;
                        });
                    }, false);

                    //-----------------------------------------
                    //级联示例
                    var cityPicker = new $.PopPicker({
                        layer: 2
                    });
                    cityPicker.setData(cityData);
                    var showCityPickerButton = doc.getElementById('showCityPicker');
                    var cityResult = doc.getElementById('cityResult');
                    showCityPickerButton.addEventListener('tap', function(event) {
                        cityPicker.show(function(items) {
                            cityResult.innerText = "你选择的城市是:" + items[0].text + " " + items[1].text;
                            //返回 false 可以阻止选择框的关闭
                            //return false;
                        });
                    }, false);

                    //-----------------------------------------
                    //                    //级联示例
                    var cityPicker3 = new $.PopPicker({
                        layer: 3
                    });
                    cityPicker3.setData(cityData3);
                    var showCityPickerButton = doc.getElementById('showCityPicker3');
                    var cityResult3 = doc.getElementById('cityResult3');
                    showCityPickerButton.addEventListener('tap', function(event) {
                        cityPicker3.show(function(items) {
                            cityResult3.innerText = "你选择的城市是:" + (items[0] || {}).text + " " + (items[1] || {}).text + " " + (items[2] || {}).text;
                            //返回 false 可以阻止选择框的关闭
                            //return false;
                        });
                    }, false);
                });

            })(mui, document);

这是红色部分的效果图

另外的两个数据,单独写成一个文件并引入

代码的地址

 

总结:

一、api的步骤和说明

1、通过new mui.PopPicker()初始化popPicker组件

  var picker = new mui.PopPicker(); 

2、之后给picker加数据

setData() 支持数据格式为:数组

 picker.setData([{value:'zz',text:'智子'}]); 

3、最后显示picker内容

 picker.show( SelectedItemsCallback ) 

二、具体的代码

步骤1:初始化组件

var userPicker = new $.PopPicker();

步骤2:加数据(也就是点击之后跳出来的数据显示)

userPicker.setData([{
                        value: 'ywj',
                        text: '董事长 叶文洁'
                    }, {
                        value: 'aaa',
                        text: '总经理 艾AA'
                    }, {
                        value: 'lj',
                        text: '罗辑'
                    }, {
                        value: 'ymt',
                        text: '云天明'
                    }, {
                        value: 'shq',
                        text: '史强'
                    }, {
                        value: 'zhbh',
                        text: '章北海'
                    }, {
                        value: 'zhy',
                        text: '庄颜'
                    }, {
                        value: 'gyf',
                        text: '关一帆'
                    }, {
                        value: 'zhz',
                        text: '智子'
                    }, {
                        value: 'gezh', 
                        text: '歌者'
                    }]);

步骤3:    对数据的处理(获取和排版)

            var showUserPickerButton = document.getElementById('showUserPicker');   //获取点击的位置
                    var userResult = document.getElementById('title-text');                          //数据放置的位置
                    showUserPickerButton.addEventListener('tap', function(event) {           //回调函数的使用
                        userPicker.show(function(items) {
                            userResult.innerText = JSON.stringify(items[0].text).replace("\"","").replace("\"","") //获取数据,去掉双引号并放到指定位置;
                            //返回 false 可以阻止选择框的关闭
                            //return false;
                        })
                    }, false);

  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 据了解,苹果于2020年9月15日发布的iOS 14,引入了一种叫做“特定地区设置”的新功能,该功能会根据用户所在的地理位置,限制部分应用的可用范围。在某些地区,该设置可能会影响mui.picker选择器在iPhone 12上的正常使用。 此外,苹果在12系列进行了诸多技术和硬件方面的升级,这可能会导致mui.picker选择器未作出相应更改,无法与新的硬件设备进行兼容。因此,选择器使用者可能需要更新选择器的版本或等待厂商发布更新版本。 然而,需要注意的是,以上分析仅仅是对此问题的一种猜测,并未得到官方的确认。还需交流合作,共同解决此类问题。 ### 回答2: 据我们了解,最近在使用 mui.picker 选择器时发现苹果12无法正常选择的情况确实存在。这个问题主要出现在 iOS 14 系统上,尤其是在苹果12设备上。实际上,mui.picker 选择器是基于浮动层实现的,而由于 iOS 14 在设计上进行了调整,导致了选择器无法弹出。 如果使用mui.picker选择器无法选择的话,我们可以尝试使用其它替代方案,比如常规的HTML表单元素、jQuery、zepto插件等。如果非要使用mui.picker选择器的话,我们可以尝试将mui.picker插件更新至最新版,或者自行调整插件代码以适应 iOS 14 的设计变化。 还有一种方法是使用H5的input[type="date"],它的UI也很好看,适用于弹窗使用。 总之,由于这个问题的根本原因是 iOS 14 系统在设计上出现了问题,因此我们只能通过调整插件代码或者使用其它解决方案来解决这个问题。希望我们的回答能够帮到你,如果还有其他问题,请随时让我们知道。 ### 回答3: mui.picker选择器是一款非常受欢迎的前端开发工具,它可以很好地实现数据选择的功能。然而,在苹果12上,用户在使用该工具时可能会发现无法正常选择数据的情况。 这主要是由于苹果12的操作系统更新,导致mui.picker选择器与操作系统之间的兼容性出现了问题。虽然该问题可能会给一些开发者带来困扰,但是这并不意味着mui.picker选择器已经不适用于苹果12了。实际上,开发者可以通过一些调试和优化的方法来解决这个问题。 首先,开发者可以尝试更新mui.picker选择器的版本,以确保它可以与最新的操作系统兼容。如果这种方法没有效果,那么开发者还可以尝试寻找其他类似的数据选择工具,如各种插件程序和组件库,来替代mui.picker选择器实现数据选择功能。当然,这些替代方案需要进行充分的测试和验证,以确保它们可以完美地和苹果12的操作系统兼容。 总之,对于苹果12上使用mui.picker选择器无法选择数据的问题,开发者可以通过更新版本、替代方案等多种方法来解决。毕竟,随着科技的日益发展,前端开发工具和技术也在不断更新和进化,做好更新和迭代将能更好地服务于用户。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值