ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

今天学到了~~~

2022-07-15 01:03:29  阅读:187  来源: 互联网

标签:学到 vant 校验 value readonly 今天 使用 组件


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

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. 命名规则, 是为了让别人快速定位变量含义。
    好的命名规则,遵循以下几点规范
  • 参考官方文档的命名规范
  • 方法 使用 动词 + 名词 的形式命名
  • 标识 使用 is + 形容词
  • 具体事物 使用 形容词(可选) + 名词
  • css 能用class 不用style. 拒绝使用 !important, 实在要用,一定要确认项目中不会影响别人
  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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有