zoukankan      html  css  js  c++  java
  • mui Picker DtPicker 固定内容以及变动内容Picker 不同情况下的应用 提高效率

    目的是:

    保证不同的Picker只创建一次,多次创建Picker系统不会自己销毁,X掉一个之后后面可能会出现下一个。

    保证实现需求的情况下,优化代码,提高效率。

    1.如果picker中的内容为定值

    var wnddir = [{
    text: "顺风",
    value: 0
    }, {
    text: "逆风",
    value: 1
    }];
    var wnddirPicker = new $.PopPicker();----生成picker
    wnddirPicker.setData(//装载值
    wnddir
    );
    var showWnddirPicker = document.getElementById('wnddir');
    showWnddirPicker.addEventListener('tap', function(event) {//点击事件
    wnddirPicker.show(function(items) {
    showWnddirPicker.value = items[0].text;//展示内容
    //此处可以写picker选中值所触发的其它情况
    });
    }, false);

    2.如果多个时间框Picker

    var days = $(".time");//如果一个界面多个时间框 直接控制所有时间框
    days.each(function(i, day) {
    day.addEventListener('tap', function() {
    var _self = this;
    var id = this.getAttribute('id');
    if(_self.picker) {//如果picker已经存在
    _self.picker.show(function(rs) {
    document.getElementById(id).value = rs.text;
    });
    } else {//picker不存在
    var optionsJson = this.getAttribute('data-options') || '{}';
    var options = JSON.parse(optionsJson);
    _self.picker = new $.DtPicker(options);
    _self.picker.show(function(rs) {
    document.getElementById(id).value = rs.text;
    });
    }
    }, false);
    });

    3.Picker中内容会变化的情况

    var sectnmtmPicker = new $.PopPicker();

    showSectnmtmPicker.addEventListener('tap', function(event) {
    rvsecttm = [];//此处是全局变量
    for(var i = 0; i < __rsvcttm.length; i++) {//__rsvcttm为全局变量(就是会变化的值)此处也考虑了进程问题, 如果在rvsecttm的赋值放在外面,可能会先走赋值,后查到__rsvcttm的值,导致Picker中没有值,所以放在点击事件中
    var a = {
    value: __rsvcttm[i].testno,
    text: __rsvcttm[i].testno
    }
    rvsecttm.push(a);
    };
    sectnmtmPicker.setData(
    rvsecttm
    );
    sectnmtmPicker.show(function(items) {
    showSectnmtmPicker.value = items[0].text;
    });
    }, false);

  • 相关阅读:
    聊聊自定义实现的SPI如何与spring进行整合
    聊聊读源码这件事
    聊聊自定义SPI如何使用自定义标签注入到spring容器中
    聊聊如何自定义数据脱敏
    聊聊自定义SPI如何与sentinel整合实现熔断限流
    排查not eligible for getting processed by all BeanPostProcessors
    SqlServer 数据脱敏脚本
    WPF 窗体使用 Show() 单个显示并设置弹窗相对于主窗体位置
    【SQLite】获取插入 ID 的几种方式
    Winform DataGridView 行单元格增加自定义 ToolTip
  • 原文地址:https://www.cnblogs.com/sky-zky/p/11738630.html
Copyright © 2011-2022 走看看