a-input-number,el-input,el-select奇葩操作

<a-input-number @keydown="noValueChange('pack_price')" v-fo size="small" :min="0" :max="100000"  v-model="value" :precision="2"  />

<el-select v-fo-select  v-model="value" placeholder="请选择...">
    <el-option
        v-for="item in options"
        :key="item.id"
        :label="item.name"
        :value="item.name"
     >
     </el-option>
 </el-select>

 输入框自动获取

在mains.js中自定义指令fo,在代码中v-fo使用

//input聚焦
Vue.directive('fo', {
  inserted (el, binding, vnode) {
    // 聚焦元素
    // console.log(el, binding, vnode)
    el.querySelector('input').focus()
    window.setTimeout(() => {
      el.querySelector('input').select()
    }, 10);
  }
})

下拉框自动展开options

在mains.js中自定义指令fo-select,在代码中v-fo-select使用

Vue.directive('fo-select', {
  inserted (el, binding, vnode) {
    // 聚焦元素
    vnode.componentInstance.toggleMenu()
  }
})

a-input-number 数字输入框去除上下切换数值

//去除输入框上下左右键更改数值
    noValueChange(name){             

if(window.event.keyCode==37||window.event.keyCode==38||window.event.keyCode==39||window.event.keyCode==40){
        this.tableData[this.tabClickIndex][name]=window.event.target.value
      }
    },

el-select按键盘左右键确认所选值

 mounted() {
    window.addEventListener("keydown", this.keydownFuc);
  },
  deactivated(){
    window.removeEventListener("keydown", this.keydownFuc);
  },
methods: {
    //下拉框在上下键切换值后按左右键确定值
    serSelectValue(){
      if(document.getElementsByClassName('el-select-dropdown__item hover').length>0){
        let prop=this.gaugeIOutfitArr.filter(item=>{return item.label==this.tabClickLabel})[0].prop
        this.tableData[this.tabClickIndex][prop]=document.getElementsByClassName('el-select-dropdown__item hover')[0].innerText
      }
    },
    keydownFuc(){
        //键盘右键
      if (code.keyCode === 39) { 
        this.serSelectValue()
      }
        //键盘左键
      if (code.keyCode === 37) { 
        this.serSelectValue()
      }

     },
   },

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值