知识与经验,探索和发现(贰)

2022/03/21 知识与经验,探索和发现 本文共2052字,阅读全文约需7分钟 本文总阅读量

谷雨

截止 2022.05.21【计划】

Knowledge and Experience

const CustomComponent = (props, ref) => {
  const [ArrConfig, setArrConfig] = useState([]);
  const MaxKey = useRef(-1);
  const refs = useRef({}); // using useRef because we want to persist the values when component re-renders

  useImperativeHandle(ref, () => ({
    refs,
  }));

  // 用户动态创建
  const add = () => {
    // 随便模拟一下,key值一版是自增的
    setArrConfig([...ArrConfig, { key: (MaxKey.current += 1) }]);
  };

  const setRefs = (ele: HTMLElement, key: number) => {
    if (ele) {
      // 当map开始遍历后就会调用,因为ref回调函数是以内联函数的方式定义的,所以更新过程中会执行两次。一次参数是null,一次是dom元素,所以需要if判断
      refs.current[`form_${key}`] = ele;
    }
  };

  return (
    <div className='card'>
      {ArrConfig.map(({ key }) => (
        <DynamicRenderItemForm
          key={key}
          ref={(ele: HTMLElement) => setRefs(ele, key)}
        />
      ))}
    </div>
  );
};

export default forwardRef(CustomComponent);
  • 表单禁止输入空格
rules: [
  {
    pattern: /^[^\s]*$/,
    message: 'No spaces',
  },
];
  • Table 表格默认某列降序排序时(没排序时就按照这列降序),点击没反应(因为降序的下一个值是 undefined,被默认降序覆盖了),可以改变 sortDirections 的顺序为: [‘descend’, ‘ascend’]即可;

  • 如果远程主机删除了某个分支,默认情况下,git pull 不会在拉取远程分支的时候,删除对应的本地分支。这是为了防止,由于其他人操作了远程主机,导致git pull不知不觉删除了本地分支。加上参数 -p 就会在本地删除远程已经删除的分支; Git 远程操作详解

      git pull -p
      # 等同于下面的命令
      git fetch --prune origin
      git fetch -p
    

Exploration and Discovery

经济学

MySQL 实战

Search

    欢迎与我交流

    江南逰子

    Table of Contents