Git报错 Permission to A/BestoneGitHub.git denied to B 今天和同事在弄github的时候,遇到了点小麻烦,在全球最大的中文网上一搜,果然不出所料,找不到写解决方案,于是自己在stackOverFlower上看了好几篇,总结了一下,终于找到解决方案!报错如下:初看知道大概是没有权限,导致不能从远程仓库读取,后来询问才知道我同事的电脑的SSH公钥已经绑定了他自己的GitHub 账号,我就不能再用他的公钥了,具体的请看stackoverflow网友所说的:上面说的话很清楚,就是你不能有多个账号添加了同一个公钥,一旦那样github就不能区分到底是哪个用户在安全登陆网站
vue 搜索框添加历史搜索记录 笔者vue项目有一个需求,搜索框添加历史搜索记录。想着很久没更新博客了,记录一下吧。PS:pinia+vue3+vant+ts,或许你在使用vue2的语法,不要紧,可以根据自己的需求简单改改。效果图正文搜索框的逻辑就不介绍了,今天这个问题其实是vue操作localStorage。笔者先写了一个工具类来完成对缓存的操作:export class CacheManager { static getHomeSearchHistoryWords() { return localStorage
React 开发错误记录 长期更新正文1. Error: Rendered fewer hooks than expected. This may be caused by an accidental early return state…hooks函数的调用问题,简单来说,不要在循环,条件或嵌套函数中调用 Hook, 确保总是在你的 React 函数的最顶层以及任何 return 之前调用他们。遵守这条规则,你就能确保 Hook 在每一次渲染中都按照同样的顺序被调用。2....
React 学习笔记 前言一段时间前开始学习react,本地笔记不知不觉已经几万字了。今日分享一部分有价值的笔记,希望与大家共勉。正文1. jsx语法虚拟dom标签中混入js表达式要用{}样式类名不能使用class,应用className内联样式,用style={{key:value,key:value…}},外层花括号为混入js表达式,内层是js中包裹键值对的对象只能有一个根标签任何标签都要闭合,即使是单标签也要写成自闭合标签首字母小写,则去找有无对应的html标签,无则报错大写
idea中配置prettier 1.全局安装prettiernpm i prettier -g如果是mac系统,安装全局插件时需要sudo权限,在最前面加上即可。2. idea安装ctrl+,打开首选项,找到Plugins,选中Marketplace,搜索prettier,点击install,重启idea即可。如果想要修改快捷键,找到 首选项 >Keymap>Plug-ins>prettier,右键添加快捷键即可。...
git 学习 1. linux一些命令pwd 显示当前路径ls 列出当前文件夹下所有文件rm 删除文件rm -r 删除文件夹touch 创建文件mkdir 创建文件夹cd 切换目录clear 清屏history 查看命令历史# 注释exit 退出2. git命令git config --global -l #显示当前登录的用户信息git config --global user.name #配置用户,必须要配置git config --global user.email#配置用户,必须要
flutter 组件——展示更多 介绍笔者自己封装的一个flutter组件,用于展示网格数据。可以传入默认展示的数目,网格的列数,展开和收起时显示的文字等。需注意的是,该组件需要传入一个itemBuilder函数,这个函数有context和index两个参数,即网格的子项构造函数。还需要传入一个包含所有网格数据的数组。网格的子项宽高比childAspectRatio也是可以传入的。效果图源码import 'package:flutter/material.dart';class MoreData extends Statef
flutter页面内跳转——锚点效果的实现 问题描述点击一个按钮,跳转到页面对应的内容区域,类似于HTML中的target跳转,也就是锚点标签。在HTML中,此种效果的实现是不需要手动计算元素高度的,所以我在flutter实现的首先原则为不手动计算组件高度。解决方法一. 第三方插件1. indexed_list_view该组件需要创建controller,使用controller中的方法,根据索引值来跳转到ListView组件中的某一项。缺点是没有属性shrinkwrap,布局时需要注意。在其git社区,也有很多人请求官方加入这个属性。
flutter GestureDetector添加点击效果 做法为把GestureDetector替换为InkWell,一个带onTap和child属性的组件,然后就有点击效果了。如果child是有背景色/图片的Container,可以将其替换为Ink,一个和Container用法类似的组件。原文链接
json_mapper 自定义类型的List 问题笔者现在做的flutter项目,json序列化用到的插件是dart_json_mapper。当我在需要序列化的类中定义了一个字段:List<PayModel>? pays,编译运行,这个插件就报了错,错误信息大意为某某类型不是某某类型的子类型,或者不认识某某类型。查阅了官方文档,发现了这段话。大意为不能在需要序列化的类中定义自定义类型的List,如果必须这么做则需要手动转换。你可以定义如List<String>的基本类型列表。解决方法文档中同样也给出了解决方法。一种是
TabBarView 在 Column 中 报错 原因TabBarView组件占用父组件尽可能大的空间,这种布局一般外层都是可滚动的,类似SingleChildScrollView,而在Column中没有一个明确的高度约束,也就是说无限高,故报错。解决方法1. 定高直接了当地解决问题,但是有一个很大的缺点,TabBarView加载的组件可能是不同高度的,故预定的高度要取他们的最大高度,布局不好看。SingleChildScrollView( child: Column( children: [ MyTabBar(),
Flutter 中圆角按钮,渐变色按钮 如图所示思路ElevatedButton组件,我在网上没有找到直接设置的圆角和渐变色背景的属性。笔者的思路是,将按钮的背景色和阴影去除,在其外包裹Container,设置外层容器的圆角和背景色即可。代码Container( width: 340, height: 49, //在此设置 decoration: BoxDecoration( borderRadius: BorderRadius.circular(9), gradient: const Lin
Flutter 上滑加载以及下拉刷新 实现下拉刷新flutter中,已经给出了实现,咱们只需要给出回调即可。很多解释都在注释中,请不要忽略。如果你想要直接看到全部代码,请拉到最后。import 'dart:async';import 'package:dio/dio.dart';import 'package:flutter/material.dart';import 'package:flutter_demo/base/view.dart';import 'package:flutter_demo/common/my_f
前端工作周报8.30 正文initState() 是一个无返回值的函数,如果要在这里请求数据,不能在这个函数中添加async/await。重新定义一个async函数,在其中调用即可。在两个文件中定义两个写法完全相同的类,这两个类的实例在相互赋值时报错,说明类不同。不是说无状态的widget里面不能定义属性,而是无状态中的属性不能随着页面操作变化。Column 的宽度,取子组件中宽度最大值如果导入没有null safe的package,则flutter2.x报错。需要找到支持null safe的版本
flutter中的EventBus 插件地址:event_bus用法定义事件类型,通常来说是定义类,可以在类中定义属性来传参class LoginSuccessEvent {}class WarningEvent { String msg; WarningEvent(this.msg);}在需要监听事件的页面initState阶段添加监听 void initState() { // TODO: implement initState super.initState(); bus.on
前端工作周报 8.16 & 8.23 本应两周写两个周报,但在上周主管和我说不用干vue了,需要学习dart->flutter。这两周主要是在学习,这个博客会贴很多平时联系的代码。8.16 - 8.17Dart 安装下载SDK配置环境helloworld学习笔记PS:很多与js相同的语法默认忽略//void可选,表示无返回值void main(){ var str = '你好'; //var 会自动类型推断 var num = 1234; String str1 = '世界'; i
前端工作周报8.9 记录下前端实习工作的问题和收获。正文1. javaScript相关即使 null 和 undefined 有关系,它们的用途也是完全不一样的。永远不必显式地将变量值设置为 undefined 。但 null 不是这样的。任何时候,只要变量要保存对象,而当时又没有那个对象可保存,就要用 null 来填充该变量。这样就可以保持 null 是空对象指针的语义,并进一步将其与 undefined 区分开来。由于javaScript浮点数值的精度问题,永远不要用浮点数之和等于某个浮点数来作为判断条件最 小