庆广大
自己做了个app,有内容发布功能,需要表情包,有免费的吗?
可以用微软的"fluentui-emoji" (https://link.segmentfault.com/?enc=UfJsMOmS80%2F7k4hgqu1C%2Fw%3D%3D.UfBZKexx1Fb4HnPgM5VoybKw7J%2FysHwrw2Td6djNVnTSOGkDpTM2ji%2Bn2ToskpV2),有三四种风格的表情图,都在assets文件夹;
或者用Github的"gemoji" (https://link.segmentfault.com/?enc=bTb2TOeOobwdR1a6fEhhzQ%3D%3D.mdfRcVRJdkdWpd0m0NHnGYn5DIiYQRgYJpmlsyGwQELJMGnbImR03%2Fn2QJBDlZnO),能用unicode显示。
庆广大
jenkins中nodejs script有啥用?
最近在弄jenkins中发现有一个执行Nodejs
script的,不知道有啥作用,"script"里面是直接输入js代码吗?我在script里面填了一个"console.log('111')",直接构建失败了,所以对这块有些疑问?还是说填的是js的文件名
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241230/9c59a4094e3893beb28b8ac291563c15.png)
庆广大
chrome控制台debug 堆栈和 源码位置对不上,如何处理?
1、项目配置要生成源码文件source-map
2、看下浏览器控制台有没有打开源码映射
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241224/28e2b362c61bcebcc5cdcfa65d0080f8.png)
庆广大
angular项目在第三方包源码增加东西比如echarts后,打包上传怎么让对方拉下来也同样有?
你是指你改了 node_modules 里的东西?
那么有 patch-package 这种已经很成熟的方案了。具体做法就不写了,网上教程一大把。
P.S. 如果包管理用的 pnpm 的话需要用 pnpm patch,原理跟上面其实一样,只是因为 pnpm 用上硬链接了所以普通的 patch-package 有很多坑而已。
庆广大
vue,el-input,如何实现一个货币的输入框,类似excel中的?
需要的效果,类似 excel 中的货币格式输入框
* 在存在焦点输入的时候,显示为数字
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241222/c082f19e3277187a9aa3e6ce14b4540d.png)
* 失去焦点,显示货币分隔符
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241222/ec8652ceaaaae106ca447105b00404fe.png)
* 支持复制粘贴带货币分隔符的数字,并且
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241222/037862e6635a48ac91cc6643157dc53a.png)
粘贴的时候去除逗号,失去焦点的时候又显示货币格式
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241222/98f09e10c72ccd8c17ed93e2e17fb93a.png)
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241222/4b8be9d250144dc8a30a03a7acbf1f54.png)
庆广大
ts 提示在赋值前使用了变量 startTime 那我要判断startTime是否赋值怎么判断?
let startTime: number | undefined
知道了 显式指定类型包括undefined就行了
庆广大
vue3获取组件插槽数据?
在调用这个组件的地方"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241221/a99e0eb135832f7a1be34030bacf9306.png)
接收childer组件作为插槽,在parent中"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241221/24b52fc2e3cced4cab88157bfe547c21.png)
获取不到默认插槽的属性b,不知道为什么"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241221/095c669438939500949748da838f07d6.png)
庆广大
用 ts 定义图片的时候怎么定义?
可以新建一个 ts 声明文件:"img.d.ts",并将文件放置在 "tsconfig.json" 中 "include"属性所配置的文件夹下。
declare module '*.svg'
declare module '*.png'
declare module '*.jpg'
declare module '*.jpeg'
declare module '*.gif'
declare module '*.bmp'
declare module '*.tiff'
庆广大
JS文件如何引入本地JSON文件?
不是很清楚你说的这个本地文件是指什么情况,是客户端的文件,还是服务端的文件。
如果是客户端的文件的话,就是让用户点击上传按钮去上传对应的JSON文件了。
如果是服务端的文件的话,可以直接在页面中使用 "" 标签引入(JSONP),也可以使用 "require/import"
的文件直接包含这个JSON文件("require"
需要通过Node构建,浏览器不支持),如果是一个非常大的JSON文件,你想要动态导入的,可以参考"动态import的文档" (https://link.segmentfault.com/?enc=cWXpKlM3jwzI2BEKgX%2BVNQ%3D%3D.yepsabF%2BdRZI0QY2e7OCz7Ng4%2BYZgDswSsCkDFhyEo5N%2FqtmSp79vgb3QYAlu1ZYRBFZKCW7InzPtLK3MpqaTY9Vj58GjP%2BuTWPDeTLMJpXrKI8dJxZWvLceUNXIuhGq55XZCZ88fHobVvzjqQlCMTdyli6oQL0ZjW3hBuUgv%2B8%3D),当然也可以使用发起一个HTTP请求来获取。
庆广大
设置android launcher和底部条配置开发或市场上可用三方的软件?
看官方文档
"https://developer.android.com/reference/androidx/core/view/Wi..." (https://link.segmentfault.com/?enc=eNwH65AxOmKFyglbOoJHZQ%3D%3D.nfOU1noEEMbnD7px3QahaNMcIxVZlAOTJsu8h4941L8EEgeoKMC6kdkgdk758IT7QdkyC8zrl0%2FtKVBOhUA6L9TnSgMdM1ioXNjb06Tb9jyQ5M0%2Fk%2B%2BHPCW174iKAU43)
庆广大
微服务的降级和隔离为啥需要在远程调用的时候进行?
网上给的原因是:服务降级和隔离是为了保护服务调用方
但是我逻辑上一直没捋顺,有大佬能讲一下 降级(或隔离)的过程吗
ps:微服务刚入门,勿喷
庆广大
例如app控制海康摄像头转动,采用的是什么技术?
下发的不是旋转角度,下发的是坐标。
摄像头有自己的坐标系,有自己的0,0,有自己的芯片控制两个坐标之间的移动。
一般的摄像头都是平面直角坐标系,出厂设定一个(0,0)点,X轴对应横向电机移动,Y轴对应纵向电机移动。
APP控制时候,按左递进就是x=x-i,右就是x=x+i,操作完成发送(x,y)。摄像头接受坐标后由内部芯片控制移动到该坐标。
没必要反馈,因为用户在看监控画面,监控动了就是反馈。监控与操作是两个互不相关的。
***
再补充一下,移动也不是操作完成了再最后发,而是每隔一段时间发送该时间段内的最终坐标点。例如摄像头的帧率是30帧,如果APP端有连贯性操作,那么我们每隔(1/(30~60))秒发送APP操作的最终坐标点。分子是秒,分母是帧,分母大于等于摄像头录制帧率,摄像头的流畅性。
***
最后补充,APP操作虚拟按键的时候是自增、自减,不是绝对坐标值。例如(x-1, y+3),板子会执行(x-1, y+3),不是板子控制电机跑去(-1,3)。
只有APP控制前往指定位置,例如APP之前存储的A画面(150,30),然后要求板子去A画面就会使用绝对坐标。
庆广大
The file at 'http://xxxx.xlsx' was loaded over an insecure connection?
vue 项目想下载文件,文件放在public目录下,通过这种方式下载
下载文件
提示错误
The file at 'http://xxxx.xlsx' was loaded over an insecure connection. This file should be served over HTTPS
我当前项目是本地启动的"http"环境,下载文件也在本地,现在怎么修改呢?
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241205/72212b3fd9e4f74ea3c2f6a7057c264e.png)
庆广大
为什么刚刚拉取的 docker 镜像的 digest 镜像和 docker hub 上的不一致?
是不是用了源?
可以在拉取镜像时候指定digest,如果找不到镜像。就用中转服务器自己push一个最新版的到国内仓库,然后再去拉取。
庆广大
mathematica画图?
编辑器支持 LaTex 的数学公式语法:
«如果没抄错的话,可以直接复制使用»
$$
U_{total} = - \frac{\pi q^2 \delta ^6}{512D} + \pi \gamma\delta ^2
$$
各部分释义
"图片.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241201/2be065321d846063a97cca5cf6d4a157.png)
渲染效果
$$ U_{total} = - \frac{\pi q^2 \delta ^6}{512D} + \pi \gamma\delta ^2 $$
庆广大
如何解决二分类问题中,高精度低召回率问题?
原始数据集中正负类不平衡比为1:10,采用过采样的方式处理过,也利用了分层交叉验证、网格搜素调参,最后模型训练精确率为92%,召回率只有69%。如何能提高呢?(特征选择使用卡方检验和随机森林算法进行筛选特征)
庆广大
求中贴,用vue实现以下图片里的样式?
https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241127/9f91e4fec16eb2a078993f0e4f09f929.png
这种用vue该怎么实现?
庆广大
如何做到像坚果云这样自定义 Windows 文件资源管理器的 UI?
楼上的ai回答错了,这个其实是C++开发来的,com对象开发(这块儿老实说我没能掌握),先分享一个csdn的链接把:
"https://blog.csdn.net/qq_40628925/article/details/118097146" (https://link.segmentfault.com/?enc=fBB2H5M0mCSlrX7mxPebAQ%3D%3D.A9btzGddAGm%2FsiC0Iano%2Bn3FaQdYITQEP0uVuIZ4LQTCiVKVK9vxghRoLEoIg7aMXFNhBpASK0wrhXn2DKiKig%3D%3D)
总之就是把com开发学会之后,再去考虑ui和交互问题了。这是一个相当复杂的过程,需要深入理解 COM 和 Windows
的内部工作原理,毕竟涉及到系统底层了,否则可能会影响系统的稳定性。
虽然有类似的开源项目你也可以考虑使用一些开源的文件管理器(如 Double Commander 或
Explorer++),但是修改源码的过程并不会特别轻松,毕竟需求的实现也很麻烦。
庆广大
vue中watch执行先于computed,在watch中有调用computed后的对象,该怎么改呢?
比如,我切换图片时,触发以下method:
setActiveImage(image) {
for (const imageItem of this.imageList) {
imageItem.active = false;
}
image.active = true;
// 此处修改了watch的值
this.test = "xxx";
}
这里自动切换到当前图片对象
computed: {
activeImage() {
return this.imageList.find((image) => {
return image.active;
});
},
}
最后在watch时使用到了computed后的对象,但是computed是在watch之后执行的,activeImage数据就不对,有没有什么办法解决?
watch: {
"test": {
handler() {
// 这里使用到了computed后的对象,这里的数据不正确
this.dosomething(this.activeImage);
},
deep: true
}
}
庆广大
forge viewer部件异常移动应该如何解决?
用 fragProxy.setMatrix 方法,不是直接设置 position 和 quaternion
tree.enumNodeFragments(nodeId, (fragId) => {
let fragProxy = viewer.impl.getFragmentProxy(viewer.model, fragId);
let newMatrix = new THREE.Matrix4();
// 计算新的变换矩阵
// 这里你可以添加对newMatrix的操作,如平移、旋转等
// 应用新的变换矩阵
fragProxy.setMatrix(newMatrix.toArray());
fragProxy.updateAnimTransform();
});
用 THREE.Matrix4 的 makeTranslation 方法来建一个平移矩阵:
let moveMatrix = new THREE.Matrix4();
moveMatrix.makeTranslation(xOffsetAmount, 0, 0);
newMatrix.multiplyMatrices(fragProxy.matrixWorld, moveMatrix);
庆广大
有一个奇怪问题,vue2中我用router-link或者window.open打开一个新页面,原来的页面路由也会跟着切换,这是为什么呢?
有可能你用的是a标签,触发默认行为了,你阻止一个默认行为。 preventDefault
庆广大
spring boot使用jackson处理前端返回的json?
拆分嘛,嵌套太多层或者感觉乱的时候就拆成多个类不用内部类了,改起来也不会眼花缭乱
public class User2
{
private Username username;
private Password password;
//getter、setter方法省略
}
public class Username
{
private boolean __v_isShallow;
private Dep dep;
private boolean __v_isRef;
private String _rawValue;
private String _value;
//getter、setter方法省略
}
public class Password
{
private boolean __v_isShallow;
private Dep dep;
private boolean __v_isRef;
private String _rawValue;
private String _value;
//getter、setter方法省略
}
public class Dep
{
private int w;
private int n;
//getter、setter方法省略
}
如果你想实体类属性和json字符串的key值不必一一对应,可以用@JsonProperty注解标在对应的实体类属性上,标在getter和setter上也是可以的(如果要标就一起标上)
庆广大
poi利用sax解析百万数据Excel的JVM内存占用问题?
Excel中有500W数据,使用poi的sax模式逐行读取,然后批量插入到数据库。
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241123/048811fade46dadbbbfcfb0599da4b32.png)
测试代码未改动,仅设置JVM内存参数。
第一次不改动JVM,导入500W数据到数据库
耗时1分51秒
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241123/d52c20f1cf28175c78dd749eefec4f1c.png)
内存占用如下
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241123/3ce30985c5a56f962771da1c59b0eee5.png)
第二次JVM内存最大、最小参数都设置为500M,此时耗时1分43秒,内存占用更是平均只有140MB!!
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241123/3ff491e528116462f3e2ae9c42faf56b.png)
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241123/908e209745dd3840c5044026a918524f.png)
我已经凌乱了,到底是为什么呢?JVM内存设置的小了,占用的内存也跟着小了,而且时间上还相差无几,导入到数据库的效果也是一样成功。。
庆广大
java怎么用递归返回树结构的结果?
import com.alibaba.fastjson2.JSON;
import lombok.Data;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
@Data
public class PeopleVO {
private Integer id;
private String peopleName;
private Integer parentId;
List children = new ArrayList();
//生成树
private static List createTree(List lists, int pid) {
List tree = new ArrayList();
for (PeopleVO people : lists) {
if (pid == people.getParentId()) {
tree.add(people);
}
}
for (PeopleVO people : tree) {
people.setChildren(createTree(lists, people.getId()));
}
return tree;
}
//从根节点出发到目标节点的路径,按列表顺序排列
private static List searchPeople(List tree, String name) {
List result = new ArrayList();
for (PeopleVO people : tree) {
if (people.getPeopleName().equals(name)) {
result.add(people);
return result;
}
List children = people.getChildren();
if (children != null && children.size() > 0) {
List searchResult = searchPeople(children, name);
if (searchResult.size() > 0) {
result.add(people);
result.addAll(searchResult);
return result;
}
}
}
return result;
}
//顺序组装节点,搜索结果方法已经是排好序的节点了
private static List createTree2(List nodeList) {
List tree = new ArrayList();
for (int i = 0; i nodeChildren = new ArrayList();
nodeChildren.add(sonNode);
node.setChildren(nodeChildren);
}else{
node.setChildren(null);
}
}
tree.add(nodeList.get(0));
return tree;
}
public static void main(String[] args) {
//三国
PeopleVO sanGuo = new PeopleVO();
sanGuo.setId(0);
sanGuo.setParentId(-1);
sanGuo.setPeopleName("三国");
//刘备
PeopleVO liuBei = new PeopleVO();
liuBei.setParentId(0);
liuBei.setId(1);
liuBei.setPeopleName("刘备");
//刘焉
PeopleVO liuYan = new PeopleVO();
liuYan.setParentId(0);
liuYan.setId(2);
liuYan.setPeopleName("刘焉");
//孙坚
PeopleVO sunJian = new PeopleVO();
sunJian.setParentId(0);
sunJian.setId(3);
sunJian.setPeopleName("孙坚");
//曹操
PeopleVO caoCao = new PeopleVO();
caoCao.setParentId(0);
caoCao.setId(4);
caoCao.setPeopleName("曹操");
//刘备的儿子们
//刘封
PeopleVO liuFeng = new PeopleVO();
liuFeng.setParentId(1);
liuFeng.setId(5);
liuFeng.setPeopleName("刘封");
//刘禅
PeopleVO liuShan = new PeopleVO();
liuShan.setParentId(1);
liuShan.setId(6);
liuShan.setPeopleName("刘禅");
//刘焉的儿子们
//刘璋
PeopleVO liuZhang = new PeopleVO();
liuZhang.setParentId(2);
liuZhang.setId(7);
liuZhang.setPeopleName("刘璋");
//刘循是刘璋的儿子
PeopleVO liuXun = new PeopleVO();
liuXun.setParentId(7);
liuXun.setId(8);
liuXun.setPeopleName("刘循");
//孙坚的儿子们
//孙策
PeopleVO sunCe = new PeopleVO();
sunCe.setParentId(3);
sunCe.setId(9);
sunCe.setPeopleName("孙策");
//孙权
PeopleVO sunQuan = new PeopleVO();
sunQuan.setParentId(3);
sunQuan.setId(10);
sunQuan.setPeopleName("孙权");
//曹操的儿子们
//曹丕
PeopleVO caoPi = new PeopleVO();
caoPi.setParentId(4);
caoPi.setId(11);
caoPi.setPeopleName("曹丕");
//曹植
PeopleVO caoZhi = new PeopleVO();
caoZhi.setParentId(4);
caoZhi.setId(12);
caoZhi.setPeopleName("曹植");
//曹彰
PeopleVO caoZhang = new PeopleVO();
caoZhang.setParentId(4);
caoZhang.setId(13);
caoZhang.setPeopleName("曹彰");
//秦朗
PeopleVO qinLang = new PeopleVO();
qinLang.setParentId(4);
qinLang.setId(14);
qinLang.setPeopleName("秦朗");
//每个人都添加自己的儿子列表
sanGuo.setChildren(Arrays.asList(liuBei, liuYan, sunJian, caoCao));
liuBei.setChildren(Arrays.asList(liuFeng, liuShan));
liuYan.setChildren(Collections.singletonList(liuZhang));
liuZhang.setChildren(Collections.singletonList(liuXun));
sunJian.setChildren(Arrays.asList(sunCe, sunQuan));
caoCao.setChildren(Arrays.asList(caoPi, caoZhi, caoZhang, qinLang));
//将所有人添加到一个集合中
List totalList = new ArrayList(Arrays.asList(sanGuo, liuBei, liuYan, sunJian, caoCao, liuFeng, liuShan, liuZhang, liuXun, sunCe, sunQuan, caoPi, caoZhi, caoZhang, qinLang));
//调用方法生成树
List tree = createTree(totalList, -1);
//调用方法搜索
List searchResult = searchPeople(tree, "孙坚");
List resultTree = createTree2(searchResult);
System.out.println(JSON.toJSONString(resultTree));
//秦朗的
//[{"children":[{"children":[{"id":14,"parentId":4,"peopleName":"秦朗"}],"id":4,"parentId":0,"peopleName":"曹操"}],"id":0,"parentId":-1,"peopleName":"三国"}]
//孙坚的
//[{"children":[{"id":3,"parentId":0,"peopleName":"孙坚"}],"id":0,"parentId":-1,"peopleName":"三国"}]
}
}
庆广大
js 一个promise数组且该数组会随时添加新promise要怎么样一个一个同步执行?
js 一个promise数组且该数组会随时添加新promise,要怎么样一个一个同步执行
有可能执行完一个promise过一会才会添加新的
庆广大
为什么小程序background: linear-gradient在真机上透明度会失效?
改造成 "::before" 伪类再试试看?
其实也不需要设置 "translate3D" 把你伪类的 "z-index" 值改成 "-1" 应该也可以。
庆广大
vue3 + antd@3x + vite + ts 项目,执行build时提示ant报错,这个是什么问题啊?
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241119/4859b3b2375f1fc8167cca149246019f.png)
目测是ts报错问题
庆广大
如何在Windows 10下安装WSL?
windows10 下面安装wsl --install 我平常用惯了了centos 但是这里好像没有 应该怎么处理呢
"19fe989f40d52e23d1f56780466cef4.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241111/6faab628ba6d2005a130f69670763ef6.png)
打开docker desktop
"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241111/d40f9fc7fc8e368ee6aef09dbc115748.png)
我想使用dockerdesktop 我查看我的w10版本是符合的
庆广大
validateField is not a function?
为什么要加.value
庆广大
有图,这种弹出层vue有什么好的库吗?
定位可以用 "floating-ui" (https://link.segmentfault.com/?enc=DhEDzWoSOZnpqSV8l%2BqyXg%3D%3D.i5NunxUGdi8bZevkvCjAQDDd7xpEtA1Sh%2BidU%2B6lE55j%2BQpMEruYgilKhJW%2BrdBf),样式可以根据需求自己手写。
庆广大
Mac和windows哪个更适合运行ai程序?
很明显是 Linux
庆广大
我通过js修改了div的id属性,但是虽然id确实被改变了,样式却没有改变,这是为什么?
我通过js修改了div的id属性,但是虽然id确实被改变了,但是样式却没有改变,这是为什么?
以下仅展示部分代码。
以下为CSS代码
#thisfloor{
position:fixed;
left:50px;
top:500px;
width:80px;
height:300px;
background-color:dimgray;
}
#thatfloor {
position: fixed;
left: 200px;
top: 500px;
width: 80px;
height: 300px;
background-color: red;
}
以下为HTML代码
以下为js代码
// 生成此次地块和下次地块
var thisfloor = document.getElementById("thisfloor")
var thatfloor = document.getElementById("thatfloor")
var numbers = 1;
function creatFloor() {
numbers++;
if (numbers % 2 == 0) {
thisfloor.id = "thatfloor"
thatfloor.id = "thisfloor"
}
else {
thisfloor.id = "thisfloor"
thatfloor.id = "thatfloor"
}
console.log(thisfloor.id)
}
这个是调整前
"这个是调整前" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241014/d48777aaa806ecbc24d996035f1c149d.png)
这个是调整后,虽然id改了,样式却没有变
"这个是调整后,但是虽然id改了,样式却没有变" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241014/28e826f2488f8a6d05e2e99efd1c5be6.png)
希望可以在切换id的同时切换所述id的样式
庆广大
vue2,父组件重复给子组件props传递字符串类型的字段,子组件watch不会重复触发怎么办?
点击第一次的时候,子组件watch可以监听到,如果多次点击,watch就无法监听了,加了deep属性也不好用,请教怎么办
import ChildComponent from './ChildComponent.vue';
export default {
components: {
ChildComponent
},
data() {
return {
data: null
};
},
mounted() {
}
};
庆广大
webview中这种写法不行,如何处理呢?
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241013/f1f702cb6ffecbbea2517c573f2039c1.png)
webview不支持这种写法怎么处理?
庆广大
请问在 react 中如何实时更新状态?
组件的封装,个人经验,仅供参考
1、封装组件就要考虑它的通用行,举个例子:比如封装一个 select 组件。
"c446cd32f94a110708430587796d5ea9.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241012/05488137faf45780ccb4dd760e202060.png)
上边的封装是基于 "antd 4.x
版本中的组件" (https://link.segmentfault.com/?enc=mfJoCyiqct1b2C7dKAALUg%3D%3D.eg2%2FYrywEzJ%2FkCAbDtLiYTVFje9OqGl6XnBgX3H47obwu7R7VWUKTBao2360%2BfInXNtL3WuFOfVQrhvTfGlwIQ%3D%3D)
封装的。
2、如果遇到业务需求需要根据业务场景进行再次封装 select,可使用这个封装后的进行三次业务需求的 select 组件封装。
第二个问题
1、第一个 useEffect 可以删掉。
2、initialContent 是作为 prop 传递给组件的,它在组件挂载时会被设置为初始值。然而,由于 setTextContent
是异步的(React 的状态更新是异步的),在组件首次渲染时,textContent 的值可能还没有被更新,这可能导致组件显示上一次的内容。
3、可以在组件挂载时立即设置 textContent 的值,而不是依赖于 useEffect 钩子。可以通过在组件的初始化阶段直接设置
textContent 。
type UserdetailProps = {
onChange?: (event: React.ChangeEvent) => void
value?: string
}
const Userdetail = (props: UserdetailProps) => {
const { onChange,defaultValue } = props
const [textContent, setTextContent] = useState(defaultValue);
const onChangeValue = (event: React.ChangeEvent) => {
const val = event.target.value;
setTextContent(val)
if(typeof onChange === 'function'){
onChange(val)
}
}
// 在组件挂载时立即设置 defaultValue 的值
useEffect(() => {
setTextContent(defaultValue || '');
}, []); // 空的依赖数组确保这个 effect 只运行一次
return (
);
};
export default Userdetail;
4、添加了一个 onChange 事件处理器来更新 textContent 的值,这样当用户在文本区域输入时,内容会实时更新。
5、添加了一个外部的 onChange,可以是组件更加通用,同时在外部也能拿到实时更新的值。
6、textContent 将立即被设置为 defaultValue 的值,从而避免了显示上一次内容的问题。同时,用户输入时内容也会正确更新。
第一个问题。
异步导致你不能第一时间拿到最新的 userinfo,最简单的方法加个 loading
const userList = () => {
if (isLoading) {
// 如果数据还在加载,显示加载指示器
return Loading...;
}
const activedUsers = users.filter((user) => user.status === 1);
if (activedUsers.length === 0) {
return No user;
}
return (
// ...用户列表渲染代码保持不变
);
};
庆广大
如何自定义uniapp中switch开关的未选中颜色?
在使用uniapp开发APP中,无法设置其自带switch开关未选中时颜色的样式,只能设置选中时的颜色该如何解决?
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241012/8ae23324c0684e6d41efce79e48e7bc4.png)
项目要求其未选中时背景色是灰色
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241012/5f46db23a52187638879cb1c7e763514.png)
在微信开发者工具中查看其组件样式调用,搞不明白
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241012/4c927ec36e63b315d3ae50d2d6356952.png)
庆广大
antd Table能实现跨列跨行合并成一个单元格吗?
antd Table可以实现跨列跨行同时合并吗?
比如下图,我想将框住的内容合并一个单元格,合并后希望可以自定义一段内容
居中展示,目前我试了下可以列或行合并,同时合并的话,该怎么实现呢
https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241012/4f9c79716e46afe6e533b5f92baa282b.png
demo代码
const { createRoot } = ReactDOM;
const { Table } = antd;
// In the fifth row, other columns are merged into first column
// by setting it's colSpan to be 0
const columns = [
{
title: 'Name',
dataIndex: 'name',
render: (text) => {text},
},
{
title: 'Age',
dataIndex: 'age',
},
{
title: 'Home phone',
dataIndex: 'tel',
},
{
title: 'Phone',
dataIndex: 'phone',
},
{
title: 'Address',
dataIndex: 'address',
},
];
const data = [
{
key: '1',
name: 'John Brown',
age: 32,
tel: '0571-22098909',
phone: 18889898989,
address: 'New York No. 1 Lake Park',
},
{
key: '2',
name: 'Jim Green',
tel: '0571-22098333',
phone: 18889898888,
age: 42,
address: 'London No. 1 Lake Park',
},
{
key: '3',
name: 'Joe Black',
age: 32,
tel: '0575-22098909',
phone: 18900010002,
address: 'Sidney No. 1 Lake Park',
},
{
key: '4',
name: 'Jim Red',
age: 18,
tel: '0575-22098909',
phone: 18900010002,
address: 'London No. 2 Lake Park',
},
{
key: '5',
name: 'Jake White',
age: 18,
tel: '0575-22098909',
phone: 18900010002,
address: 'Dublin No. 2 Lake Park',
},
];
const App = () => ;
const ComponentDemo = App;
createRoot(mountNode).render();
庆广大
wireguard 组建的虚拟局域网突然连不上了?
wireguard 组建的虚拟局域网突然连不上了是怎么回事?
在云上有中转服务的模式, 其它机器都是连接的云上。 现在用的网段是"10.0.7.0/16"
刚建好用了一两个月没问题,之后就开始不稳定了,重启就没事。
现在是客户端都ping不通云上的"10.0.7.1"了
庆广大
nginx ssl 报错?
1. 可以尝试将ssl_protocols 限制为TLSv1.2
2. 还可以尝试升级nginx版本,如果允许的话
庆广大
如何通过自定义管理后台上传微信小程序代码?
微信小程序可否通过自己开发的管理后台进行上传微信小程序代码到微信后台?
希望有经验的大神能不吝指教
庆广大
对于可编辑的div,怎么实现高亮当前行的效果?
在用div模拟的编辑器中,如何获取输入光标所在的div元素,然后实现高亮输入光标所在行的效果html结构如下:
1234
一二三四
壹贰叁肆
对于可编辑的div,我尝试用获得焦点和失去焦点的事件来实现高亮当前行的效果,但是在用↑、↓、回车和退格键改变输入光标所在行后,并没有触发焦点事件,只有点击时才触发。
庆广大
做搜索框的历史记录时遇到的问题?
1.做搜索框的历史记录的时候 历史记录是搜索框聚焦时且没有内容时展示
然后点击历史记录的某一条会把这个记录给input然后触发搜索 肯定也会关闭历史记录
但是点击历史记录的时候 触发了input的失焦 然后历史记录点击事件不生效了
尝试过点历史记录的时候 给300延迟关闭历史记录 感觉体验不好
也试过历史记录给透明度0 但是关闭了也能点着肯定是不用说的 所以问下大佬们有什么解决方法吗
2.还有个问题是 search组件点清除图标的时候 它是算清空输入框并且失焦的
触发了onChange 然后满足了搜索框没有内容展示 但是它会自动失焦 (失焦在前 onChange在后) 最后用了个开关 点击了清除图标 开关设置true
onChange的时候开关为true仍然不给展示
感觉是很笨的方法(可能是本身实现思路就不大好) 所以虽然有效但是期待更好的方法和思路
庆广大
Webstorm中style快捷键注释变成//,怎么解决?
".vue" 文件的 注释本来就可以用 "//"。报错可能和你的 webstorm 配置有关系,升级一下 webstorm 版本或者改一下
Vue 语言服务器试试。
庆广大
如何解决前端图片加载时stalled阻塞时间过长问题(不是6个并发数限制的原因)?
前端图片加载时stalled阻塞时间过长,而且从数量上看并不是由6个并发数的限制引起的,有两秒左右的时间所有请求单纯的阻塞着,没有数据传输https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241007/5a57d17334a9854e4bd98cf0e6c6c440.pnghttps://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241007/0523d7ec891412658415ea6a8d8e0472.png
期望正常加载
庆广大
Notion这里的图标,带有箭头的和不带箭头的区别是什么呢?
请问下, Notion这里的图标,带有箭头的和不带箭头的区别是什么呢?
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241007/dec32a20f27d0e754bffc3d5f521d863.png)
庆广大
有道翻译逆向解析,为什么JS经过MD5返回类型和python经过MD5返回的类型不一样?
有道翻译逆向解析,为什么JS经过MD5返回类型和python经过MD5返回的类型不一样?
"图片.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241007/4fc4f8a24627b1513b7c3cd198a4e384.png)
我参考这篇博客"https://blog.csdn.net/m0_73689941/article/details/133975299" (https://link.segmentfault.com/?enc=E9F04TYr31pq2t4k7hRGQA%3D%3D.dlYrmYDMj3A%2BubwneeWtuIStpIykYKmmZ0m9P4IVQDBlcWYMniLL08NBdNJawyTeTwixh7IhP5PdNG%2FOYoKl8A%3D%3D)
练习逆向,为什么密钥和偏移量MD5加密后在python运行结果和js运行结果不一样?
这是为啥呢? python用的看着像十六进制组合,但是又不完全是,JS用的是数字数组表示。为啥会有这种区别?
import base64
import time
from Crypto.Cipher import AES
import requests
import hashlib
ti = str(int(time.time() * 1000))
# sign值加密
def sign():
str_md5 = f'client=fanyideskweb&mysticTime={str(ti)}&product=webfanyi&key=fsdsogkndfokasodnaso'
sign = hashlib.md5(str_md5.encode("utf-8")).hexdigest()
return sign
# 返回值解密
def result(text_AES):
# 偏移量
decodeiv = "ydsecret://query/iv/C@lZe2YzHtZ2CYgaXKSVfsb7Y4QWHjITPPZ0nQp87fBeJ!Iv6v^6fvi2WN@bYpJ4"
# 秘钥
decodekey = "ydsecret://query/key/B*RGygVywfNBwpmBaZg*WT7SIOUP2T0C9WHMZN39j^DAdaZhAnxvGcCY6VYFwnHl"
# 先把密匙和偏移量进行md5加密 digest()是返回二进制的值
key = hashlib.md5(decodekey.encode(encoding='utf-8')).digest()
iv = hashlib.md5(decodeiv.encode(encoding='utf-8')).digest()
# AES解密 CBC模式解密
aes_en = AES.new(key, AES.MODE_CBC, iv)
# 将已经加密的数据放进该方法
data_new = base64.urlsafe_b64decode(text_AES)
# 参数准备完毕后,进行解密
result = aes_en.decrypt(data_new).decode('utf-8')
return result
headers = {
"Origin": "https://fanyi.youdao.com",
"Referer": "https://fanyi.youdao.com/",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 Edg/118.0.2088.61",
'Host':'dict.youdao.com',
'cookie':'OUTFOX_SEARCH_USER_ID=-2034389685@10.110.96.157; OUTFOX_SEARCH_USER_ID_NCOO=1994625046.2245197',
}
# 语言字典
dic_code = {0: '自动识别', 'code0': 'auto', 1: '阿拉伯文', 'code1': 'ar', 2: '冰岛文', 'code2': 'is', 3: '波兰文', 'code3': 'pl', 4: '德文', 'code4': 'de', 5: '俄文', 'code5': 'ru', 6: '法文', 'code6': 'fr', 7: '芬兰文', 'code7': 'fi', 8: '弗里西文', 'code8': 'fy', 9: '菲律宾文', 'code9': 'tl', 10: '韩文', 'code10': 'ko', 11: '荷兰文', 'code11': 'nl', 12: '蒙古文', 'code12': 'mn', 13: '缅甸文', 'code13': 'my', 14: '尼泊尔文', 'code14': 'ne', 15: '挪威文', 'code15': 'no', 16: '葡萄牙文', 'code16': 'pt', 17: '日文', 'code17': 'ja', 18: '瑞典文', 'code18': 'sv', 19: '世界文', 'code19': 'eo', 20: '土耳其文', 'code20': 'tr', 21: '乌克兰文', 'code21': 'uk', 22: '西班牙文', 'code22': 'es', 23: '希腊文', 'code23': 'el', 24: '夏威夷文', 'code24': 'haw', 25: '英文', 'code25': 'en', 26: '意大利文', 'code26': 'it', 27: '中文', 'code27': 'zh-CHS'}
# 获取输入语言
def get_from():
print('选择数字,输入为什么语言:')
# 判断是否报错
try:
from_data = int(input(f'{dic_code}:'))
code_from = dic_code.get(f"code{from_data}")
if code_from == None:
get_from()
print(f'输入为{dic_code.get(from_data)}')
return code_from
# 报错函数回调
except:
get_from()
# 翻译成语言
def get_to():
print('选择数字,翻译成什么语言:')
try:
from_data = int(input(f'{dic_code}:'))
code_from = dic_code.get(f"code{from_data}")
if code_from == None:
get_from()
print(f'翻译为为{dic_code.get(from_data)}')
return code_from
except:
get_from()
get_from1 = get_from()
# 判断是不是选择了自动选择
if get_from1 == 'auto':
to = ''
else:
to = get_to()
word = input('请输入语句')
data = {
"i": word ,
"from": str(get_from1),
"to": str(to),
"domain": "0",
"dictResult": "true",
"keyid": "webfanyi",
"sign":sign(),
"client": "fanyideskweb",
"product": "webfanyi",
"appVersion": "1.0.0",
"vendor": "web",
"pointParam": "client,mysticTime,product",
"mysticTime": str(ti),
"keyfrom": "fanyi.web",
"mid": "1",
"screen": "1",
"model": "1",
"network": "wifi",
"abtest": "0",
"yduuid": "abcdefg"
}
url = "https://dict.youdao.com/webtranslate"
response = requests.post(url, headers=headers,data=data )
print(response)
print(response.text)
result1 = result(response.text)
print(result1)
这是源代码
庆广大
这是什么加密方式?
可以试下这个,通过 AI 智能判断加密算法,并解密(Pythen)
"https://github.com/Ciphey/Ciphey" (https://link.segmentfault.com/?enc=VdYo6S7czKiEFnFiCIUSBQ%3D%3D.TxMp6hIsihcIhxxQ3G69FobkCvFH0eKOUPg2%2FhnSAsd%2FUKf5eUE0%2BfQ1VcHHU8q%2B)
https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241005/fc4b64cf81960153ded26350a66b0812.png
庆广大
常用的加密算法?
最常用的加密算法?
了解知识
庆广大
Element-Plus el-select 报错 Maximum recursive updates exceeded?
当使用element-plus的el-select的filterable时控制台出现Maximum recursive updates exceeded
in component . This means you have a reactive effect that is
mutating its own dependencies and thus recursively triggering itself. Possible
sources include component template, render function, updated hook or watcher
source function.
的报错,出现此问题的前提是el-select渲染的数据量较大,少量数据是没有此问题
使用filter-method写了自定义筛选方法虽然能解决此问题,但是选中筛选项时,回显较慢,有无其他解决方式
庆广大
settings.json改动问题?
我在vscode的settings.json中修改了一些内容,但是会被git认为是改动项,如何在不修改.gitignore文件的情况下避免被git认为是改动项?