jqweui1.1.2 Picker内联模式 在软键盘弹出后 会布局错乱(详细描述看内容) 5C

使用Picker内联模式
$.picker({
input: '#input',
container: '#container' //在Popup全屏弹窗容器里初始化
})

  • 运行环境:安卓,微信6.7.2 安卓应该都会 苹果没有测

  • 重现步骤:

    1. 点击按钮触发Popup显示,并初始化$.picker({.......})
    2. picker 选中值后 Popup隐藏
    3. 点另外一个input比如输入手机号,这时会调起软键盘,输入完成后
    4. 现在想修改刚才上面已经选好值的picker, 触发Popup显示,执行$.picker({.......}),就会出现异常布局 (只有先初始化picker选中值再调起软键盘后都会布局错乱,选调软解盘再初始化picker就正常)

补充:第二次触发$.picker({.......})的时候 我有用到 setValue 修改选中值

_20180920144154
正常效果

_20180920144159
布局异常(1. picker初始化过 2. 弹出过软键盘 3.想重新修改picker就出现上图情况)

如果能在第一次选完值 确定后 就销毁picker,第二次选的时候重新执行picker初始化应该就可以解决上面的问题,但是在文档没找到销毁的办法 .picker('destroy') 也没用

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
在编辑框中用了ant design的a-range-picker标签,怎么将该行的日期回填到该主键上
![图片说明](https://img-ask.csdn.net/upload/202001/08/1578458233_268854.png)
小程序中一个单独的button和一个picker包裹的button怎么并排显示
我需要两个button,btn1只是个单纯的button,btn2需要点击时弹出picker选择框,我怎么设置才能让这两个button并排显示呢
elementUI 中 el-date-picker中弹出的日期和时间的输入框设置为只读?
elementUI 中 el-date-picker中弹出的日期和时间的输入框设置为只读 ![图片说明](https://img-ask.csdn.net/upload/201906/19/1560923381_671336.jpg) 设置**红框内的输入框**不能输入,官网上的editable="false"是设置外层的输入框,
Date Range Picker 自定义时间 为什么不显示当前月呢
![图片说明](https://img-ask.csdn.net/upload/201911/11/1573465797_184284.jpg) Date Range Picker 自定义时间 为什么不显示当前月呢,现在是11月 但是怎么都显示是12月 var locale = { "format": 'YYYY-MM-DD', "separator": " 至 ", "applyLabel": "确定", "cancelLabel": "取消", "fromLabel": "起始时间", needCompare: true, "showWeekNumbers": true, //是否显示第几周 "toLabel": "结束时间", "customRangeLabel": "自定义", "weekLabel": "W", "daysOfWeek": ["日", "一", "二", "三", "四", "五", "六"], "monthNames": ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], "firstDay": 1, defaultDate: new Date() }; $('.date_time_range').daterangepicker({ 'locale': locale, ranges: { '昨日': [moment().subtract(1, 'days'), moment().subtract(1, 'days')], '今日': [moment(), moment()], '上周': [getLastWeekStartDate(),getLastWeekEndDate()], '本周': [getWeekStartDate(), new Date()], '本月': [moment().startOf('month'), moment().endOf('month')], '上月': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')], '去年': [moment().subtract(1, 'year').startOf('year'), moment().subtract(1, 'year').endOf('year')], '今年': [moment().startOf('year'), moment().endOf('year')], '过去7天': [moment().subtract(6, 'days'), moment()], '过去30天': [moment().subtract(30, 'days'), moment()] } }, function(start, end) { // $(".daterangepicker .calendar").show(); } ).on('apply.daterangepicker', function(ev, picker) { $('#startDate').val(picker.startDate.format('YYYYMMDD')); $('#endDate').val(picker.endDate.format('YYYYMMDD')); $(".date_time_range").val(picker.startDate.format('YYYY-MM-DD')+" 至 "+picker.endDate.format('YYYY-MM-DD')); requestData(); });
微信小程序picker怎么自动弹框
微信小程序picker怎么自动弹框,不手动点击触发,怎么自动弹框
利用Props将表单中写的数据传入到一个组件中的数组中,点击提交没有反应,在线等,求救救孩子。
求大佬们帮忙看看,是哪儿出问题了 ``` <template> <div> <el-form ref="form" :model="form" label-width="80px" class="form-item-require-lable"> <el-form-item label="任务类型"> <el-select v-model="form.kind" placeholder="请选择您要新建的任务类型"> <el-option label="学习任务" value="xuexi"></el-option> <el-option label="工作任务" value="gongzuo"></el-option> <el-option label="生活任务" value="shenghuo"></el-option> </el-select> </el-form-item> <el-form-item label="任务主题"> <el-input type="textarea" v-model="form.name"></el-input> </el-form-item> <el-form-item label="任务时间"> <el-col :span="11"> <el-date-picker type="datetime" placeholder="选择任务开始日期时间" v-model="form.beginTime" style="width: 100%;"></el-date-picker> </el-col> <el-col class="line" :span="2">-</el-col> <el-col :span="11"> <el-date-picker type="datetime" placeholder="选择任务结束日期时间" v-model="form.endTime" style="width: 100%;"></el-date-picker> </el-col> </el-form-item> <el-form-item label="任务内容"> <el-input type="textarea" v-model="form.content"></el-input> </el-form-item> <el-form-item label="任务标记"> <el-radio-group v-model="form.biaoji"> <el-radio label="重要任务" name="type"></el-radio> <el-radio label="普通任务" name="type"></el-radio> </el-radio-group> </el-form-item> <el-form-item > <el-button type="primary" @click="resetForm(form)">取消</el-button> <el-button type="success" @onclick="submitForm(form)">提交</el-button> </el-form-item> </el-form> <el-dialog> </el-dialog> </div> </template> <script> import Sousuo from './Sousuo.vue' export default { name: 'Xinjian', components:{Sousuo}, props: ['value'], //xinjian_value data() { return { form: { //form要与前面的定义一样 kind: '', name: '', beginTime: '', endTime: '', content: '', biaoji: '', } } }, methods: { SubmitForm(form) { /*this.$api.SubmitForm(data =>{ window.location.reload(); },*/ //this.props.close(); this.xinjian0=false; var data={ kind:form.kind, name:form.name, beginTime:form.beginTime, endTime:form.endTime, content:form.content, biaoji:form.biaoji, } this.tableData.push(data) this.$emit('update',tableData); console.log('submit!'); }, } } </script> <style scoped> .form-item-require-label{ margin: center, } </style> ``` ``` <template> <div> <el-table :data="tabledata" stripe style="width: 100%;"> <el-table-column prop="kind" label="任务类型" width="160" style="height:30px" > </el-table-column> <el-table-column prop="name" label="任务标题" width="160" style="height:30px"> </el-table-column> <el-table-column prop="beginTime" label="起始时间" width="160" style="height:30px"> </el-table-column> <el-table-column prop="endTime" label="结束时间" width="160" style="height:30px"> </el-table-column> <el-table-column prop="content" label="任务内容" width="160" style="height:30px"> </el-table-column> <el-table-column prop="biaoji" label="任务标记" width="160" style="height:30px"> </el-table-column> <el-table-column prop="zhuangtai" label="任务状态" width="160" style="height:30px"> <template slot-scope="scope"> <el-progress :text-inside="false" :stroke-width="8" :percentage="scope.row.percentage" :color="green"> </el-progress> </template> <!--el-progress :percentage="percentage" status="exception"></el-progress--> </el-table-column> <el-table-column label="操作" style="height:30px"> <template slot-scope="scope"> <el-button size="mini" @click="handleEdit(scope.$index,scope.row)">编辑</el-button> <el-button @click="handleDelete(scope.$index, tabledata)" size="small">移除 </el-button> <!--el-button size="mini" @click="handleEdit(scope.$index, scope.row)">编辑</el-button> <el-button size="mini" type="danger" @click.native.prevent="handleDelete(scope.$index, tableData)">删除</el-button><scope.row--> </template> </el-table-column> </el-table> <!--渲染v-for--> <el-dialog title="编辑任务" :visible.sync="bianji0" :append-to-body="true"> <Bianjiform :bianjiformData.sync="tabledata" v-bind="tabledata"></Bianjiform> </el-dialog> <el-dialog title="新建任务" :visible.sync="xinjian0" :append-to-body="true"> <Xinjian :xinjian_value="value"></Xinjian> </el-dialog> </div> </template> <script> import Bianjiform from './Bianjiform.vue' import Xinjian from './Xinjian.vue' export default { components: {Bianjiform,Xinjian}, name: 'Taskform', props:['message'], data() { return { tabledata: [{ kind: '学习任务', name: 'vue', beginTime: '2016-05-02', endTime: '2016-05-03', content: '学习vue', biaoji: '重要任务', percentage: 50, }, { kind: '学习任务', name: 'vue', beginTime: '2016-05-02', endTime: '2016-05-03', content: '学习vue', biaoji: '重要任务', percentage: 2, }, { kind: '学习任务', name: 'vue', beginTime: '2016-05-02', endTime: '2016-05-03', content: '学习vue', biaoji: '重要任务', zhuangtai: '完成', }, { kind: '学习任务', name: 'vue', beginTime: '2016-05-02', endTime: '2016-05-03', content: '学习vue', biaoji: '重要任务', percentage: 50, },{ kind: '学习任务', name: 'vue', beginTime: '2016-05-02', endTime: '2016-05-03', content: '学习vue', biaoji: '重要任务', percentage: 100, },{ kind: '学习任务', name: 'vue', beginTime: '2016-05-02', endTime: '2016-05-03', content: '学习vue', biaoji: '重要任务', percentage: 90, }], form: { kind: '', name: '', beginTime: '', endTime: '', content: '', biaoji: '', }, bianji0: false, //xinjian0: false, } }, methods: { handleEdit(index,row){ this.form={ kind:row.kind, name:row.name, beginTime:row.beginTime, endTime:row.endTime, content:row.content, biaoji:row.biaoji, } this.bianji0=true; //this.xinjian0=true; }, handleDelete(index, row) { //console.log(index, row); this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' }).then(() => { this.$message({ type: 'success', message: '删除成功!', }); row.splice(index,1); }).catch(() => { this.$message({ type: 'info', message: '已取消删除' }); }); }, } } </script> <style scoped> </style> ```
RN开发run-android后遇到这个错误com.facebook.jni.CppException: Can't find variable: require
![图片说明](https://img-ask.csdn.net/upload/201907/27/1564169059_441695.jpg) package.js文件 ``` { "name": "zhuanbei", "version": "0.0.1", "private": true, "scripts": { "start": "node node_modules/react-native/local-cli/cli.js start", "test": "jest" }, "dependencies": { "@ant-design/react-native": "^3.1.11", "@babel/preset-env": "^7.5.5", "@react-native-community/async-storage": "^1.5.0", "antd-mobile": "^2.2.14", "antd-mobile-rn": "^2.3.3", "babel-preset-react-app": "^9.0.0", "jsc-android": "^241213.1.0", "mobx": "^5.11.0", "mobx-react": "^6.1.1", "react": "16.8.6", "react-native": "^0.59.9", "react-native-deprecated-custom-components": "^0.1.2", "react-native-full-image-picker": "^1.2.11", "react-native-gesture-handler": "^1.3.0", "react-native-qrcode": "^0.2.7", "react-native-scrollable-tab-view": "^0.10.0", "react-native-shadow": "^1.2.2", "react-native-sms-verifycode": "^2.4.0", "react-native-splash-screen": "^3.2.0", "react-native-svg": "^9.5.3", "react-native-vector-icons": "^6.6.0", "react-native-view-shot": "^3.0.0", "react-navigation": "^3.11.0" }, "devDependencies": { "@babel/core": "^7.4.5", "@babel/plugin-proposal-decorators": "^7.4.4", "@babel/runtime": "^7.4.5", "babel-jest": "^24.8.0", "babel-plugin-import": "^1.12.0", "jest": "^24.8.0", "metro-react-native-babel-preset": "^0.54.1", "react-test-renderer": "16.8.3" }, "jest": { "preset": "react-native" } } ``` 这个问题要怎么解决呢
如何设置elementUI时间控件(datetime-picker format: yyyy-MM-dd HH:mm)的部分时分秒选项禁用?比如图中这样的,如何设置14:00之后的时分不可选?
![图片说明](https://img-ask.csdn.net/upload/201910/11/1570773666_731145.jpg)
微信小程序,怎么才能强制跳出picker
公司开一个小程序项目,不太会,我这边的需求就是当网络访问请求成功的话,某个picker自动从底部弹出。 但是我查的一些资料和官方的文档,告诉我如果要弹出picker,就必须要点picker里面包含的某个item。 我能不能直接用某个方法直接弹出picker,或者从代码里,模拟点击picker中间的item? 刚学没两天,多谢大神指教
addEventListener监听事件无效?
<script type="text/html" id="option-picker"> <div class="option-picker-addr" id="option-addr">         <div class="option-picker-send">           <span class="option-picker-text">发货</span>           <img class="option-picker-img" src="https://image.hisento.com/assets/index/addr.png">           <div class="option-picker-select">             <span class="option-picker-city" id="city_text">请选择城市</span>             <img class="option-picker-img" src="https://image.hisento.com/assets/index/addr.png">           </div>           <div class="option-picker-mail">快递:免运费</div>           <div class="option-picker-sale">月销:200</div>         </div> </div> </script>  window.LArea = (function() {     var MobileArea = function() {         this.gearArea;         this.data;         this.index = 0;         this.value = [0, 0, 0];         this.currnt = ''     }     MobileArea.prototype = {         init: function(params) {             this.params = params;             var _html=document.getElementById('option-picker').innerHTML;                 document.getElementsByClassName('option-picker1')[0].innerHTML=_html;             this.currnt = params.trigger             this.trigger = document.querySelector(params.trigger);             this.keys = params.keys;             this.type = params.type||1;             switch (this.type) {                 case 1:                 case 2:                     break;                 default:                     throw new Error('错误提示: 没有这种数据源类型');                     break;             }             this.bindEvent();         },         getData: function(callback) {           var _self = this;           if (typeof _self.params.data == "object") {             _self.data = _self.params.data;             callback();           } else {             var xhr = new XMLHttpRequest();             xhr.open('get', _self.params.data);             xhr.onload = function(e) {               if ((xhr.status >= 200 && xhr.status < 300) || xhr.status === 0) {                 var responseData = JSON.parse(xhr.responseText);                 _self.data = responseData.data;                 if (callback) {                   callback()                 };               }             }             xhr.send();           }         },         bindEvent: function() {             var _self = this;             //呼出插件             function popupArea(e) {               console.log(11)                 _self.gearArea = document.createElement("div");                 _self.gearArea.className = "gearArea";                 _self.gearArea.innerHTML = '<div class="area_ctrl slideInUp">' +                     '<div class="area_btn_box">' +                     '<div class="area_btn larea_cancel">取消</div>' +                     '<div class="area_btn larea_finish">确定</div>' +                     '</div>' +                     '<div class="area_roll_mask">' +                     '<div class="area_roll">' +                     '<div>' +                     '<div class="gear area_province" data-areatype="area_province"></div>' +                     '<div class="area_grid">' +                     '</div>' +                     '</div>' +                     '<div>' +                     '<div class="gear area_city" data-areatype="area_city"></div>' +                     '<div class="area_grid">' +                     '</div>' +                     '</div>' +                     '<div>' +                     '<div class="gear area_county" data-areatype="area_county"></div>' +                     '<div class="area_grid">' +                     '</div>' +                     '</div>' +                     '</div>' +                     '</div>' +                     '</div>';                 document.body.appendChild(_self.gearArea);                 areaCtrlInit();                 var larea_cancel = _self.gearArea.querySelector(".larea_cancel");                 larea_cancel.addEventListener('touchstart', function(e) {                     _self.close(e);                 });                 var larea_finish = _self.gearArea.querySelector(".larea_finish");                 larea_finish.addEventListener('touchstart', function(e) {                     _self.finish(e);                 });                 var area_province = _self.gearArea.querySelector(".area_province");                 var area_city = _self.gearArea.querySelector(".area_city");                 var area_county = _self.gearArea.querySelector(".area_county");                 area_province.addEventListener('touchstart', gearTouchStart);                 area_city.addEventListener('touchstart', gearTouchStart);                 area_county.addEventListener('touchstart', gearTouchStart);                 area_province.addEventListener('touchmove', gearTouchMove);                 area_city.addEventListener('touchmove', gearTouchMove);                 area_county.addEventListener('touchmove', gearTouchMove);                 area_province.addEventListener('touchend', gearTouchEnd);                 area_city.addEventListener('touchend', gearTouchEnd);                 area_county.addEventListener('touchend', gearTouchEnd);             }             //初始化插件默认值             function areaCtrlInit() {                 _self.gearArea.querySelector(".area_province").setAttribute("val", _self.value[0]);                 _self.gearArea.querySelector(".area_city").setAttribute("val", _self.value[1]);                 _self.gearArea.querySelector(".area_county").setAttribute("val", _self.value[2]);                 switch (_self.type) {                     case 1:                         _self.setGearTooth(_self.data);                         break;                     case 2:                         _self.setGearTooth(_self.data[0]);                         break;                 }             }             //触摸开始             function gearTouchStart(e) {                 e.preventDefault();                 var target = e.target;                 while (true) {                     if (!target.classList.contains("gear")) {                         target = target.parentElement;                     } else {                         break                     }                 }                 clearInterval(target["int_" + target.id]);                 target["old_" + target.id] = e.targetTouches[0].screenY;                 target["o_t_" + target.id] = (new Date()).getTime();                 var top = target.getAttribute('top');                 if (top) {                     target["o_d_" + target.id] = parseFloat(top.replace(/em/g, ""));                 } else {                     target["o_d_" + target.id] = 0;                 }                 target.style.webkitTransitionDuration = target.style.transitionDuration = '0ms';             }             //手指移动             function gearTouchMove(e) {                 e.preventDefault();                 var target = e.target;                 while (true) {                     if (!target.classList.contains("gear")) {                         target = target.parentElement;                     } else {                         break                     }                 }                 target["new_" + target.id] = e.targetTouches[0].screenY;                 target["n_t_" + target.id] = (new Date()).getTime();                 var f = (target["new_" + target.id] - target["old_" + target.id]) * 30 / window.innerHeight;                 target["pos_" + target.id] = target["o_d_" + target.id] + f;                 target.style["-webkit-transform"] = 'translate3d(0,' + target["pos_" + target.id] + 'em,0)';                 target.setAttribute('top', target["pos_" + target.id] + 'em');                 if(e.targetTouches[0].screenY<1){                     gearTouchEnd(e);                 };             }             //离开屏幕             function gearTouchEnd(e) {                 e.preventDefault();                 var target = e.target;                 while (true) {                     if (!target.classList.contains("gear")) {                         target = target.parentElement;                     } else {                         break;                     }                 }                 var flag = (target["new_" + target.id] - target["old_" + target.id]) / (target["n_t_" + target.id] - target["o_t_" + target.id]);                 if (Math.abs(flag) <= 0.2) {                     target["spd_" + target.id] = (flag < 0 ? -0.08 : 0.08);                 } else {                     if (Math.abs(flag) <= 0.5) {                         target["spd_" + target.id] = (flag < 0 ? -0.16 : 0.16);                     } else {                         target["spd_" + target.id] = flag / 2;                     }                 }                 if (!target["pos_" + target.id]) {                     target["pos_" + target.id] = 0;                 }                 rollGear(target);             }             //缓动效果             function rollGear(target) {                 var d = 0;                 var stopGear = false;                 function setDuration() {                     target.style.webkitTransitionDuration = target.style.transitionDuration = '200ms';                     stopGear = true;                 }                 clearInterval(target["int_" + target.id]);                 target["int_" + target.id] = setInterval(function() {                     var pos = target["pos_" + target.id];                     var speed = target["spd_" + target.id] * Math.exp(-0.03 * d);                     pos += speed;                     if (Math.abs(speed) > 0.1) {} else {                         var b = Math.round(pos / 2) * 2;                         pos = b;                         setDuration();                     }                     if (pos > 0) {                         pos = 0;                         setDuration();                     }                     var minTop = -(target.dataset.len - 1) * 2;                     if (pos < minTop) {                         pos = minTop;                         setDuration();                     }                     if (stopGear) {                         var gearVal = Math.abs(pos) / 2;                         setGear(target, gearVal);                         clearInterval(target["int_" + target.id]);                     }                     target["pos_" + target.id] = pos;                     target.style["-webkit-transform"] = 'translate3d(0,' + pos + 'em,0)';                     target.setAttribute('top', pos + 'em');                     d++;                 }, 30);             }             //控制插件滚动后停留的值             function setGear(target, val) {                 val = Math.round(val);                 target.setAttribute("val", val);                 switch (_self.type) {                     case 1:                          _self.setGearTooth(_self.data);                         break;                     case 2:                      switch(target.dataset['areatype']){                          case 'area_province':                          _self.setGearTooth(_self.data[0]);                              break;                          case 'area_city':                              var ref = target.childNodes[val].getAttribute('ref');                              var childData=[];                              var nextData= _self.data[2];                              for (var i in nextData) {                                  if(i==ref){                                     childData = nextData[i];                                     break;                                  }                              };                         _self.index=2;                         _self.setGearTooth(childData);                              break;                      }                 }                              }             _self.getData(function() {             //   _self.trigger.addEventListener('click', popupArea);             console.log(_self.trigger)               _self.trigger.addEventListener('click', function(){                   alert(111)               });             });         },         //重置节点个数         setGearTooth: function(data) {             var _self = this;             var item = data || [];             var l = item.length;             var gearChild = _self.gearArea.querySelectorAll(".gear");             var gearVal = gearChild[_self.index].getAttribute('val');             var maxVal = l - 1;             if (gearVal > maxVal) {                 gearVal = maxVal;             }             gearChild[_self.index].setAttribute('data-len', l);             if (l > 0) {                 var id = item[gearVal][this.keys['id']];                 var childData;                 switch (_self.type) {                     case 1:                     childData = item[gearVal].child                         break;                     case 2:                      var nextData= _self.data[_self.index+1]                       for (var i in nextData) {                          if(i==id){                             childData = nextData[i];                             break;                          }                      };                         break;                 }                 var itemStr = "";                 for (var i = 0; i < l; i++) {                     itemStr += "<div class='tooth'  ref='" + item[i][this.keys['id']] + "'>" + item[i][this.keys['name']] + "</div>";                 }                 gearChild[_self.index].innerHTML = itemStr;                 gearChild[_self.index].style["-webkit-transform"] = 'translate3d(0,' + (-gearVal * 2) + 'em,0)';                 gearChild[_self.index].setAttribute('top', -gearVal * 2 + 'em');                 gearChild[_self.index].setAttribute('val', gearVal);                 _self.index++;                 if (_self.index > 2) {                     _self.index = 0;                     return;                 }                 _self.setGearTooth(childData);             } else {                 gearChild[_self.index].innerHTML = "<div class='tooth'></div>";                 gearChild[_self.index].setAttribute('val', 0);                 if(_self.index==1){                     gearChild[2].innerHTML = "<div class='tooth'></div>";                     gearChild[2].setAttribute('val', 0);                 }                 _self.index = 0;             }         },         finish: function(e) {             var _self = this;             var area_province = _self.gearArea.querySelector(".area_province");             var area_city = _self.gearArea.querySelector(".area_city");             var area_county = _self.gearArea.querySelector(".area_county");             var provinceVal = parseInt(area_province.getAttribute("val"));             var provinceText = area_province.childNodes[provinceVal].textContent;             var provinceCode = area_province.childNodes[provinceVal].getAttribute('ref');             var cityVal = parseInt(area_city.getAttribute("val"));             var cityText = area_city.childNodes[cityVal].textContent;             var cityCode = area_city.childNodes[cityVal].getAttribute('ref');             var countyVal = parseInt(area_county.getAttribute("val"));             var countyText = area_county.childNodes[countyVal].textContent;             var countyCode = area_county.childNodes[countyVal].getAttribute('ref');             _self.trigger.value = provinceText + ((cityText)?(',' + cityText):(''))+ ((countyText)?(',' + countyText):(''));             _self.value = [provinceVal, cityVal, countyVal];             if(this.valueTo){                 this.valueTo.value= provinceCode +((cityCode)?(',' + cityCode):('')) + ((countyCode)?(',' + countyCode):(''));             }             _self.close(e);         },         close: function(e) {             e.preventDefault();             var _self = this;             var evt = new CustomEvent('input');             _self.trigger.dispatchEvent(evt);             document.body.removeChild(_self.gearArea);             _self.gearArea=null;         }     }     return MobileArea;   })();   window.onload = function(){    var LAreaData=[{     "id":"2","name":"\u5317\u4eac\u5e02",     "child":[{       "id":"2288","name":"\u4e1c\u57ce\u533a"},       {"id":"2301","name":"\u5927\u5174\u533a"},       {"id":"2300","name":"\u660c\u5e73\u533a"},       {"id":"2299","name":"\u987a\u4e49\u533a"},       {"id":"2298","name":"\u901a\u5dde\u533a"},       {"id":"2297","name":"\u623f\u5c71\u533a"},       {"id":"2296","name":"\u95e8\u5934\u6c9f\u533a"},       {"id":"2295","name":"\u6d77\u6dc0\u533a"},       {"id":"2294","name":"\u77f3\u666f\u5c71\u533a"},       {"id":"2293","name":"\u4e30\u53f0\u533a"},       {"id":"2292","name":"\u671d\u9633\u533a"},       {"id":"2291","name":"\u5ba3\u6b66\u533a"},       {"id":"2290","name":"\u5d07\u6587\u533a"},       {"id":"2289","name":"\u897f\u57ce\u533a"},       {"id":"2051","name":"\u5ef6\u5e86\u53bf",       "child":[         {"id":"2099","name":"\u5ef6\u5e86\u9547"},         {"id":"2100","name":"\u6c38\u5b81\u9547"},         {"id":"2101","name":"\u5eb7\u5e84\u9547"},         {"id":"2102","name":"\u5927\u6986\u6811\u9547"},         {"id":"2103","name":"\u4e95\u5e84\u9547"},         {"id":"2104","name":"\u516b\u8fbe\u5cad\u9547"}       ]     }]   }];   var area1 = new LArea();   area1.init({       'trigger': '#city_text', //触发选择控件的文本框,同时选择完毕后name属性输出到该位置       'keys': {           id: 'id',           name: 'name'       }, //绑定数据源相关字段 id对应valueTo的value属性输出 name对应trigger的value属性输出       'type': 1, //数据源类型       'data': LAreaData //数据源   }); } _self.trigger.addEventListener('click', function(){                   alert(111)               });这个监听事件怎么无效的
小程序 Vant 组件库 dateTimePicker
这个组件 我想自定义 分钟数每30一选 初始值为当前时间 我该怎么改这个啊 完全没有头绪 求大神指教 或是有自定义picker可以推荐一下 谢谢
tomcat access log 中请求js的时候 返回500 什么原因? 怎么解决?
101.226.66.180 - - [30/Nov/2017:16:51:38 +0800] "GET /static/common/vendor/ckeditor/ckeditor.js HTTP/1.1" 500 311296 80 101.226.66.178 - - [30/Nov/2017:16:51:40 +0800] "GET /static/common/vendor/ckeditor/ckeditor.js HTTP/1.1" 500 212992 80 101.226.66.180 - - [30/Nov/2017:16:51:41 +0800] "GET /static/common/js/vendor.js HTTP/1.1" 500 172032 80 101.226.66.180 - - [30/Nov/2017:16:51:41 +0800] "GET /static/plugin/jquery-plugin/jquery.serializejson.min.js HTTP/1.1" 200 5599 80 101.226.66.180 - - [30/Nov/2017:16:51:42 +0800] "GET /static/plugin/jquery-plugin/jquery.form.js HTTP/1.1" 200 29140 80 101.226.66.178 - - [30/Nov/2017:16:51:43 +0800] "GET /static/common/js/vendor.js HTTP/1.1" 500 237568 80 101.226.66.178 - - [30/Nov/2017:16:51:43 +0800] "GET /static/plugin/jquery-plugin/jquery.serializejson.min.js HTTP/1.1" 200 5599 80 101.226.66.180 - - [30/Nov/2017:16:51:44 +0800] "GET /static/plugin/jquery-plugin/jquery.contextMenu.min.js HTTP/1.1" 200 26814 80 101.226.66.178 - - [30/Nov/2017:16:51:44 +0800] "GET /static/plugin/jquery-plugin/jquery.form.js HTTP/1.1" 200 29140 80 101.226.66.180 - - [30/Nov/2017:16:51:44 +0800] "GET /static/plugin/jquery-plugin/jquery.ui.position.min.js HTTP/1.1" 200 5855 80 101.226.66.180 - - [30/Nov/2017:16:51:45 +0800] "GET /static/plugin/jquery-validation/1.14.0/jquery.validate.js HTTP/1.1" 200 46285 80 61.151.218.118 - - [30/Nov/2017:16:51:45 +0800] "GET /a/sys/log/data?type=&title=&createBy.name=&beginDate=&endDate=&pageNo=1&pageSize=10&orderBy=&_=1512031895807 HTTP/1.1" 302 - 80 61.151.218.118 - - [30/Nov/2017:16:51:45 +0800] "GET /a/login;JSESSIONID=4389ccec6c574100a2e74d2fb06be347 HTTP/1.1" 200 8816 80 101.226.66.180 - - [30/Nov/2017:16:51:45 +0800] "GET /static/plugin/jquery-validation/1.14.0/validation-methods_en.js HTTP/1.1" 200 10619 80 101.226.66.180 - - [30/Nov/2017:16:51:45 +0800] "GET /static/plugin/icheck-1.x/icheck.js HTTP/1.1" 200 14135 80 101.226.66.178 - - [30/Nov/2017:16:51:46 +0800] "GET /static/plugin/jquery-plugin/jquery.contextMenu.min.js HTTP/1.1" 200 26814 80 101.226.66.178 - - [30/Nov/2017:16:51:46 +0800] "GET /static/plugin/jquery-plugin/jquery.ui.position.min.js HTTP/1.1" 200 5855 80 101.226.66.180 - - [30/Nov/2017:16:51:47 +0800] "GET /static/plugin/city-picker/js/city-picker.data.js HTTP/1.1" 200 139697 80 101.226.66.178 - - [30/Nov/2017:16:51:47 +0800] "GET /static/plugin/jquery-validation/1.14.0/jquery.validate.js HTTP/1.1" 200 46285 80 101.226.66.180 - - [30/Nov/2017:16:51:48 +0800] "GET /static/plugin/city-picker/js/city-picker.js HTTP/1.1" 200 20986 80 101.226.66.178 - - [30/Nov/2017:16:51:48 +0800] "GET /static/plugin/jquery-validation/1.14.0/validation-methods_en.js HTTP/1.1" 200 10619 80 101.226.66.178 - - [30/Nov/2017:16:51:48 +0800] "GET /static/plugin/icheck-1.x/icheck.js HTTP/1.1" 200 14135 80 61.151.218.118 - - [30/Nov/2017:16:51:49 +0800] "GET /static/common/vendor/ckeditor/ckeditor.js HTTP/1.1" 500 196608 80 101.226.66.180 - - [30/Nov/2017:16:51:49 +0800] "GET /static/plugin/layui/layer/layer.js HTTP/1.1" 200 38684 80 101.226.66.180 - - [30/Nov/2017:16:51:50 +0800] "GET /static/plugin/layui/laytpl/laytpl.js HTTP/1.1" 200 2864 80 101.226.66.180 - - [30/Nov/2017:16:51:50 +0800] "GET /static/plugin/tpl/mustache.min.js HTTP/1.1" 200 5462 80 101.226.66.178 - - [30/Nov/2017:16:51:50 +0800] "GET /static/plugin/city-picker/js/city-picker.data.js HTTP/1.1" 500 122880 80 101.226.66.178 - - [30/Nov/2017:16:51:51 +0800] "GET /static/plugin/city-picker/js/city-picker.js HTTP/1.1" 200 20986 80 61.151.218.118 - - [30/Nov/2017:16:51:52 +0800] "GET /static/common/js/vendor.js HTTP/1.1" 500 204800 80 101.226.66.180 - - [30/Nov/2017:16:51:53 +0800] "GET /static/plugin/toastr/toastr.min.js HTTP/1.1" 200 5251 80 101.226.66.178 - - [30/Nov/2017:16:51:53 +0800] "GET /static/plugin/layui/layer/layer.js HTTP/1.1" 200 38684 80 61.151.218.118 - - [30/Nov/2017:16:51:53 +0800] "GET /static/plugin/jquery-plugin/jquery.serializejson.min.js HTTP/1.1" 200 5599 80 101.226.66.180 - - [30/Nov/2017:16:51:53 +0800] "GET /static/plugin/webuploader-0.1.5/webuploader.js HTTP/1.1" 500 139264 80 61.151.218.118 - - [30/Nov/2017:16:51:54 +0800] "GET /static/plugin/jquery-plugin/jquery.form.js HTTP/1.1" 200 29140 80 101.226.66.178 - - [30/Nov/2017:16:51:54 +0800] "GET /static/plugin/layui/laytpl/laytpl.js HTTP/1.1" 200 2864 80 101.226.66.180 - - [30/Nov/2017:16:51:54 +0800] "GET /static/common/js/jeeplus_en.js HTTP/1.1" 200 14524 80 61.151.218.118 - - [30/Nov/2017:16:51:54 +0800] "GET /static/plugin/jquery-plugin/jquery.contextMenu.min.js HTTP/1.1" 200 26814 80 61.151.218.118 - - [30/Nov/2017:16:51:55 +0800] "GET /static/plugin/jquery-plugin/jquery.ui.position.min.js HTTP/1.1" 200 5855 80 61.151.218.118 - - [30/Nov/2017:16:51:55 +0800] "GET /static/plugin/jquery-validation/1.14.0/jquery.validate.js HTTP/1.1" 200 46285 80 61.151.218.118 - - [30/Nov/2017:16:51:55 +0800] "GET /static/plugin/jquery-validation/1.14.0/validation-methods_en.js HTTP/1.1" 200 10619 80 61.151.218.118 - - [30/Nov/2017:16:51:56 +0800] "GET /static/plugin/icheck-1.x/icheck.js HTTP/1.1" 200 14135 80 101.226.66.178 - - [30/Nov/2017:16:51:56 +0800] "GET /static/plugin/tpl/mustache.min.js HTTP/1.1" 200 5462 80 61.151.218.118 - - [30/Nov/2017:16:51:56 +0800] "GET /static/plugin/city-picker/js/city-picker.data.js HTTP/1.1" 200 139697 80 61.151.218.118 - - [30/Nov/2017:16:51:58 +0800] "GET /static/plugin/city-picker/js/city-picker.js HTTP/1.1" 200 20986 80 61.151.218.118 - - [30/Nov/2017:16:51:59 +0800] "GET /static/plugin/layui/layer/layer.js HTTP/1.1" 200 38684 80 101.226.66.178 - - [30/Nov/2017:16:52:00 +0800] "GET /static/plugin/webuploader-0.1.5/webuploader.js HTTP/1.1" 500 278528 80 61.151.218.118 - - [30/Nov/2017:16:52:00 +0800] "GET /static/plugin/layui/laytpl/laytpl.js HTTP/1.1" 200 2864 80 61.151.218.118 - - [30/Nov/2017:16:52:00 +0800] "GET /static/plugin/tpl/mustache.min.js HTTP/1.1" 200 5462 80 101.226.66.178 - - [30/Nov/2017:16:52:00 +0800] "GET /static/plugin/toastr/toastr.min.js HTTP/1.1" 200 5251 80
MUI时间控件样式错乱是什么原因
<link href="../css/mui.min.css" rel="stylesheet" /> <script src="../js/mui.min.js"></script> <script src="../js/mui.picker.min.js"></script> <link href="../css/mui.picker.min.css" >/> <div class="mui-content"> <ul class="mui-table-view"> <li class="mui-table-view-cell"> <a class="mui-navigate-right"> 会议时间 <span id='stardate' data-options='{"type":"datetime"}' class="mui-pull-right" style="margin-right: 20px;min-width:160px;text-align: right;">请选择(必填)</span> </a> <input type="hidden" name="rideStartTime" id='rideStartTime'/> </li> <li class="mui-table-view-cell"> <a class="mui-navigate-right"> 至 <span id='enddate' data-options='{"type":"datetime"}' class="mui-pull-right" style="margin-right: 20px;min-width:160px;text-align: right;">请选择(必填)</span> </a> <input type="hidden" name="rideEndTime" id='rideEndTime'/> </li> </ul> <script> document.getElementById("stardate").addEventListener('tap', function () { var dDate = new Date(); var optionsJson = this.getAttribute('data-options') || '{}'; var options = JSON.parse(optionsJson); var picker = new mui.DtPicker(options); picker.show(function (rs){ console.log(rs) ; var timestr = rs.text; $('#stardate').html(timestr); picker.dispose(); }); }) document.getElementById("enddate").addEventListener('tap', function () { var dDate = new Date(); var optionsJson = this.getAttribute('data-options') || '{}'; var options = JSON.parse(optionsJson); var picker = new mui.DtPicker(options); picker.show(function (rs) { console.log(rs); var timestr = rs.text; $('#enddate').html(timestr); picker.dispose(); }); }) </script> ![图片说明](https://img-ask.csdn.net/upload/201811/08/1541662374_30428.png) ![图片说明](https://img-ask.csdn.net/upload/201811/08/1541662609_894075.png) 不知道是哪里的问题。样式成这样了
在手机相册中保存图片失败
UIImagePicker 控制器,在点击相机按钮的时候,预览和使用按钮显示,但是图片没有保存在图片相册中。 代码: -(void)viewDidAppear:(BOOL)animated{ picker = [[UIImagePickerController alloc] init]; // Set the image picker source: picker.sourceType = UIImagePickerControllerSourceTypeCamera; // Hide the controls: picker.showsCameraControls = YES; picker.navigationBarHidden = YES; // Make camera view full screen: picker.wantsFullScreenLayout = YES; // Insert the overlay: picker.cameraOverlayView = self.view; self.view.backgroundColor=[UIColor clearColor]; // Show the picker: [self presentModalViewController:picker animated:YES]; }
小程序从下弹出层是什么控件
![图片说明](https://img-ask.csdn.net/upload/201702/17/1487304532_319203.jpg) 点击购买后弹出的尺码,颜色选择界面用的什么控件? 貌似不是picker 啊
antd mobile 的picker组件
antd mobile 的picker组件onchange如何过去label和value值?
element ui datepicker 时间控件中切换时间问题。
因切换过快导致属性没来得及更新就点开了时间框,导致页面出现格式错误。 ``` <template> <el-date-picker v-model="date" :type="dateType" align="center" unlink-panels range-separator="~" start-placeholder="Start date" end-placeholder="End date" size="small" :picker-options="pickerOptionsType" class="date-class" value-format="yyyy-MM-dd" :format="format" prefix-icon="calendar-icon" > </el-date-picker> </template> ``` 其中日动态切换成月时 ``` computed: { dateType: { get() { let timeType = this.$store.state.time; if ('day' == timeType || 'week' == timeType) { return 'daterange'; } else if ('month' == timeType) { return 'monthrange'; } } } } ``` 本来的样式: ![图片说明](https://img-ask.csdn.net/upload/201907/25/1564019754_786163.jpg) 如果切换过快,就点开了时间框,如果切换完过两秒就不回出现: ![图片说明](https://img-ask.csdn.net/upload/201907/25/1564019829_660849.jpg) 怎么才能解决这个问题,只是格式出现问题,其他的数据都合适,timeType是全局变量,一直都有值的。
vb.net 调用高德地图API, 输入地址,传回经纬度
我现在使用一个API,传入地址,调出经纬度,非常的不准 其为 https://restapi.amap.com/v3/geocode/geo?key=389880a06e3f893ea46036f030c94700&s=rsv3&city=35&address=广东省梅州市五华县水寨镇沿江中路518号 115.777144,23.933632-->不确的 ------------------------------------------------------ 我用这个 https://lbs.amap.com/console/show/picker 115.77972,23.924029-->准确的 请问有没有大神,能帮我把下面的网页版的,转换器改成我vb.net可以调用的API呢?感谢!
fragment中额外加入时间选择器dialog的布局
public class ReleaseFragment extends Fragment implements View.OnTouchListener{ private EditText etStartTime; public ReleaseFragment() { // TODO Auto-generated constructor stub } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // TODO Auto-generated method stub etStartTime = (EditText)getActivity().findViewById(R.id.time_actionbar_release); etStartTime.setOnTouchListener(this); return inflater.inflate(R.layout.fragment_actionbar_release, null); } @Override public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub if (event.getAction() == MotionEvent.ACTION_DOWN) { AlertDialog.Builder builder = new AlertDialog.Builder(this.getActivity()); View view = View.inflate(this, R.layout.date_time_dialog, null); final DatePicker datePicker = (DatePicker) view.findViewById(R.id.date_picker); //以上两行报错,原因无法初始化两个布局 builder.setView(view); Calendar cal = Calendar.getInstance(); cal.setTimeInMillis(System.currentTimeMillis()); datePicker.init(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH), null); if (v.getId() == R.id.time_actionbar_release) { final int inType = etStartTime.getInputType(); etStartTime.setInputType(InputType.TYPE_NULL); etStartTime.onTouchEvent(event); etStartTime.setInputType(inType); etStartTime.setSelection(etStartTime.getText().length()); builder.setTitle("选取起始时间"); builder.setPositiveButton("确 定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { StringBuffer sb = new StringBuffer(); sb.append(String.format("%d-%02d-%02d", datePicker.getYear(), datePicker.getMonth() + 1, datePicker.getDayOfMonth())); sb.append(" "); etStartTime.setText(sb); dialog.cancel(); } }); } Dialog dialog = builder.create(); dialog.show(); } return true; } }
相见恨晚的超实用网站
搞学习 知乎:www.zhihu.com 简答题:http://www.jiandati.com/ 网易公开课:https://open.163.com/ted/ 网易云课堂:https://study.163.com/ 中国大学MOOC:www.icourse163.org 网易云课堂:study.163.com 哔哩哔哩弹幕网:www.bilibili.com 我要自学网:www.51zxw
花了20分钟,给女朋友们写了一个web版群聊程序
参考博客 [1]https://www.byteslounge.com/tutorials/java-ee-html5-websocket-example
爬虫福利二 之 妹子图网MM批量下载
爬虫福利一:27报网MM批量下载    点击 看了本文,相信大家对爬虫一定会产生强烈的兴趣,激励自己去学习爬虫,在这里提前祝:大家学有所成! 目标网站:妹子图网 环境:Python3.x 相关第三方模块:requests、beautifulsoup4 Re:各位在测试时只需要将代码里的变量 path 指定为你当前系统要保存的路径,使用 python xxx.py 或IDE运行即可。
字节跳动视频编解码面经
引言 本文主要是记录一下面试字节跳动的经历。 三四月份投了字节跳动的实习(图形图像岗位),然后hr打电话过来问了一下会不会opengl,c++,shador,当时只会一点c++,其他两个都不会,也就直接被拒了。 七月初内推了字节跳动的提前批,因为内推没有具体的岗位,hr又打电话问要不要考虑一下图形图像岗,我说实习投过这个岗位不合适,不会opengl和shador,然后hr就说秋招更看重基础。我当时
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 顺便拉下票,我在参加csdn博客之星竞选,欢迎投票支持,每个QQ或者微信每天都可以投5票,扫二维码即可,http://m234140.nofollow.ax.
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
Python 基础(一):入门必备知识
目录1 标识符2 关键字3 引号4 编码5 输入输出6 缩进7 多行8 注释9 数据类型10 运算符10.1 常用运算符10.2 运算符优先级 1 标识符 标识符是编程时使用的名字,用于给变量、函数、语句块等命名,Python 中标识符由字母、数字、下划线组成,不能以数字开头,区分大小写。 以下划线开头的标识符有特殊含义,单下划线开头的标识符,如:_xxx ,表示不能直接访问的类属性,需通过类提供
这30个CSS选择器,你必须熟记(上)
关注前端达人,与你共同进步CSS的魅力就是让我们前端工程师像设计师一样进行网页的设计,我们能轻而易举的改变颜色、布局、制作出漂亮的影音效果等等,我们只需要改几行代码,不需...
国产开源API网关项目进入Apache孵化器:APISIX
点击蓝色“程序猿DD”关注我回复“资源”获取独家整理的学习资料!近日,又有一个开源项目加入了这个Java开源界大名鼎鼎的Apache基金会,开始进行孵化器。项目名称:AP...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 欢迎 改进 留言。 演示地点跳到演示地点 html代码如下`&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;music&lt;/title&gt; &lt;meta charset="utf-8"&gt
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。 1. for - else 什么?不是 if 和 else 才
数据库优化 - SQL优化
前面一篇文章从实例的角度进行数据库优化,通过配置一些参数让数据库性能达到最优。但是一些“不好”的SQL也会导致数据库查询变慢,影响业务流程。本文从SQL角度进行数据库优化,提升SQL运行效率。 判断问题SQL 判断SQL是否有问题时可以通过两个表象进行判断: 系统级别表象 CPU消耗严重 IO等待严重 页面响应时间过长
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 c/c++ 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7
通俗易懂地给女朋友讲:线程池的内部原理
餐厅的约会 餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”我楞了一下,心里想女朋友今天是怎么了,怎么突然问出这么专业的问题,但做为一个专业人士在女朋友面前也不能露怯啊,想了一下便说:“我先给你讲讲我前同事老王的故事吧!” 大龄程序员老王 老王是一个已经北漂十多年的程序员,岁数大了,加班加不动了,升迁也无望,于是拿着手里
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
编写Spring MVC控制器的14个技巧
本期目录 1.使用@Controller构造型 2.实现控制器接口 3.扩展AbstractController类 4.为处理程序方法指定URL映射 5.为处理程序方法指定HTTP请求方法 6.将请求参数映射到处理程序方法 7.返回模型和视图 8.将对象放入模型 9.处理程序方法中的重定向 10.处理表格提交和表格验证 11.处理文件上传 12.在控制器中自动装配业务类 ...
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹
面试官:你连RESTful都不知道我怎么敢要你?
面试官:了解RESTful吗? 我:听说过。 面试官:那什么是RESTful? 我:就是用起来很规范,挺好的 面试官:是RESTful挺好的,还是自我感觉挺好的 我:都挺好的。 面试官:… 把门关上。 我:… 要干嘛?先关上再说。 面试官:我说出去把门关上。 我:what ?,夺门而去 文章目录01 前言02 RESTful的来源03 RESTful6大原则1. C-S架构2. 无状态3.统一的接
求小姐姐抠图竟遭白眼?痛定思痛,我决定用 Python 自力更生!
点击蓝色“Python空间”关注我丫加个“星标”,每天一起快乐的学习大家好,我是 Rocky0429,一个刚恰完午饭,正在用刷网页浪费生命的蒟蒻...一堆堆无聊八卦信息的网页内容慢慢使我的双眼模糊,一个哈欠打出了三斤老泪,就在此时我看到了一张图片:是谁!是谁把我女朋友的照片放出来的!awsl!太好看了叭...等等,那个背景上的一堆鬼画符是什么鬼?!真是看不下去!叔叔婶婶能忍,隔壁老王的三姨妈的四表...
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
致 Python 初学者
欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
相关热词 c# 图片上传 c# gdi 占用内存 c#中遍历字典 c#控制台模拟dos c# 斜率 最小二乘法 c#进程延迟 c# mysql完整项目 c# grid 总行数 c# web浏览器插件 c# xml 生成xsd
立即提问