其他分享
首页 > 其他分享> > 今天学到了~~~

今天学到了~~~

作者:互联网

每日更新, 无论学到了什么, 那怕一句话, 也是成长!!!
不积跬步无以至千里,不积小流无以成江海

2022 - 07 - 14

技术:
  1. pinia中如果想要给一个state中的数据修改成 只读模式, 直接使用 vue3 的 readonly方法修改后,赋值是不会生效的, 需要给readonly 修改的数据 解构后再 赋值才可以
import {readonly} from 'vue'
........

state: {
  readonlyData: {}
}

actions: {
  setReadonlyData: () => {
    this.readonlyData = readonly({
      a: '1',
      b: 'b'
      c: 'c'
    }) // 这样是赋值失败的

    this.readonlyData = {
      ...readonly({
        a: '1',
        b: 'b'
        c: 'c'
      }) 
    }
  }
}

原因: ??? 待补充

  1. 命名规则, 是为了让别人快速定位变量含义。
    好的命名规则,遵循以下几点规范
  1. vant 里的 radio组件,当选项的 name为 boolean 类型时, 选择false,field 组件的rule使用 required:true , 会校验为 未选择。
    原因:官方文档中虽然提到 filed 使用required 属性 的校验为

    但是 源码中的 isEmptyValue的 校验为
// 出自 vant@3.5.0  依赖中的 node_modules/vant/lib/field/utils Line:32
function isEmptyValue(value) {
  if (Array.isArray(value)) {
    return !value.length;
  }
  if (value === 0) {
    return false;
  }
  return !value;
}

针对这个问题, 我给vant 提了一个mr。不知道会不会采纳, 蹲一个 官方回复,[mr地址] (https://github.com/youzan/vant/pull/10821/files)
第一次提交mr 还有点紧张呢。但是还是很有成就感的。哈哈哈哈

  1. 使用别人的组件 ,需要先熟悉别人组件的api。对于二次封装的组件, 依旧如此。尽量避免私有化 组件!!!!这不是团队开发的好现象!
生活:
  1. 交朋友,要做到: 热情!坦然!谦虚!大方!
  2. 头脑灵活,重要;但是努力,更重要。坚持,最重要!
  3. 判断/校验/学习任何事情,要做三遍以上,才能得出较为正确的答案!

标签:学到,vant,校验,value,readonly,今天,使用,组件
来源: https://www.cnblogs.com/zhaha-blog/p/16479882.html