web项目开发js使用总结

218 阅读1分钟

表单处理

格式化输入框只能输入两位小数且在整数时首位不为0

formatter(moneyInput) {
      // 只能输入两位小数,首位不能为0
      let len = moneyInput.length;
      let point = moneyInput.indexOf('.')
      let zero = moneyInput.indexOf('0')
      if(zero === 0 && moneyInput.substr(zero, 1) !== '.'){
        moneyInput = Math.floor(moneyInput)
      }
      if(point !== -1 && len - point > 2){
        moneyInput = Math.floor(moneyInput) + moneyInput.substr(point,3)
      }
      return moneyInput
    },

元素操作

动态获取元素距离文档顶部的位置

this.tableHeight = window.innerHeight - this.$refs.table.$el.offsetTop - 75

取值操作

取动态数据时防止数据不存在 和 设置默认值的操作

对于-es2020的可选链操作符和空位合并运算符的使用
this.$router.push({ name:'wn',query: { name: this.wnInfo[this.selItem]?.wnType ?? 2 } });

插件支持:
module.exports = {
    plugins: [
        // 可选链插件, 其他babel插件也是一样的安装方式
        "@babel/plugin-proposal-optional-chaining",
        "@babel/plugin-proposal-nullish-coalescing-operator"
    ]
}