Web开发小知识点(二)

news2024/11/24 9:13:46
1.关于取余

我在Dart语言里(flutter项目)

int checkNum = (10 - 29) % 10; 那么checkNum等于1

但是在Vue项目里

const checkNum = (10 - 29) % 10;却等于-9

语言的特性不同,导致结果也不同,如果要想和Dart保持一致,则可以先对sum取余在用10减去后再取余数。

const checkNum = (10 - (sum % 10)) % 10;

2.关于position: sticky;的使用

经常在一个滑动的视图里需要固定某些组件,遇到过好几次用了这个属性没有达到预期的效果,因为可能滑动的视图不是整个屏幕,而是某一个组件,这时候要注意position: sticky;这个属性的组件的层级,不要放在外面,就放在和滚动的视图同一个层级,因为他们的父组件是一样的,sticky才好确定高度。 不然就会发生和视图一起滚动等很傻的UI展示出来。

3.关于文件的上传

一般的post接口请求时,直接一个json对象就传过去了。

export function toAuthReview(data) {
    return request({
        url: auth_review,
        method: 'post',
        data: data
    })
}


....请求的地方
var payload = { 'certType': 'BANK', 'cuNum': getCustNum() };
    toAuthReview(payload).then(response => {}

 但是在上传图片的时候,就得用formData去上传图片,如果用到formdata,就得单独对接口进行配置headers。

export function feedbackRecord(data) {
  return request({
    url: feedback_record,
    method: 'post',
    data: data,
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded'
    }
  })
}

...请求的地方
 formData.append('cuNum', 111)
  formData.append('mobileNum', 2222)
  formData.append('assistanceDesc', 111)
  formData.append('assistanceType', 11)
  formData.append('assistancePage', '')
  formData.append('assistanceChoice', curSelectFeedReson)
  formData.append('imgs', list[0]) //图片
  formData.append('imgs', list[1])//图片

   feedbackRecord(formData).then(response => {});
4.textarea自动聚焦

平常点击textarea就可以聚焦了,但是有时候可能希望点击某个组件的时候,或者当他从可见变成不可见的时候,自动聚焦

1.设置属性: 自动聚焦

<textarea id="myTextarea" autofocus></textarea>

 2.当执行某个事件的时候:

function aaa{
        const textarea = document.getElementById('myTextarea');
        textarea.focus();
    }

3.关于他的其他一些属性

<textarea

class="bank_number_input"

v-model="bankNum" 与ref数据相互绑定

maxlength="23" 最大长度

rows="1" 最大行数

@input="filterInput"//对输入进行处理

autofocus //聚焦

@keydown="handleKeyDown"//对按键事件进行处理

></textarea>

function filterInput(event) {
  const inputValue = event.target.value;//获取当前输入框的值
  const separator = ' '; 
  const positions = [3, 6, 10, 14, 17]; //指定位置插入空格
  let filteredValue = inputValue.replace(/\D/g, ''); //只许输入数字
  for (let i = 0; i < positions.length; i++) {//插入空格
    const position = positions[i];
    if (position <= filteredValue.length) {
      filteredValue = filteredValue.slice(0, position + i) + separator + filteredValue.slice(position + i);
    }
  }
  event.target.value = filteredValue; //对输入框进行赋值
  
}

因为往输入框插入了空格,所以无法正常删除,于是


function handleKeyDown(event) {
  if (event.key === 'Backspace') {
    const textarea = event.target;
    const caretPosition = textarea.selectionStart;
    const inputValue = textarea.value;

    if (inputValue[caretPosition - 1] === ' ') {
      event.preventDefault(); // 阻止默认的删除行为
      textarea.value = inputValue.slice(0, caretPosition - 1) + inputValue.slice(caretPosition);
      textarea.selectionStart = caretPosition - 1; // 更新光标位置
      textarea.selectionEnd = caretPosition - 1;
    }
  }
}
5.关于三方组件的自定义属性

今天在使用element的el-dialog组件的时候,发现很多属性设置不了,满足不了业务的需求。

后面问了同事,才知道可以用以下方法去解决

1.网页的查看源码

 这样就可以看到他里面实际的css样式格式。

2.接下来就是重写他的样式,如果直接写是无法生效的,

需要:deep()才行,例如

3.查看是否生效

刷新后,检查UI,再查看样式是否生效了。

 6.关于固定顶部,然后下面的高度也固定但是可以滑动,并且滑动不会滑动整个父组件

第一步:父组件

.all_con {
  width: 100%;
  height: calc(100vh - 3.5rem);
  display: flex;
  overflow: hidden;
  flex-direction: column;
}

确定高度,并且不让滑动

第二步:顶部的组件

.top_sticky_con {
    width: 100%;
    display: flex;
    flex: 0;
    flex-direction: column;
    opacity: 1;
  }

设置flex:0;

第三步:

.list_con {
  width: 100%;
  display: flex;
  flex-direction: column;
  flex: 1;
  overflow-y: auto;
}

设置他的flex为1,占据剩余高度,并且可以滑动。

实际效果

7.textarea和input的palceHolder样式设置无效

 input::-webkit-input-placeholder{
    
    }/*webkit 内核浏览器*/
    input::-moz-placeholder{
 
    }/*Mozilla Firefox 19+*/
    input:-moz-placeholder{
  
    }/*Mozilla Firefox 4 to 18*/
    input:-ms-input-placeholder{
 
    }
 
    /* 设置textarea框提示内容的样式 */
    textarea::-webkit-input-placeholder{
      text-align: left;
      line-height: 20px;
    }/*webkit 内核浏览器*/
    textarea::-moz-placeholder{
      text-align: left;
      line-height: 20px;
    }/*Mozilla Firefox 19+*/
    textarea:-moz-placeholder{
      text-align: left;
      line-height: 20px;
    }/*Mozilla Firefox 4 to 18*/
    textarea:-ms-input-placeholder{
      text-align: left;
      line-height: 20px;}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1666805.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Task Office for Mac v9.0激活版:任务管理新境界

还在为繁琐的任务管理而烦恼吗&#xff1f;Task Office for Mac为您带来全新的任务管理体验。简洁明了的界面设计&#xff0c;让您轻松上手&#xff1b;强大的任务管理和项目管理功能&#xff0c;让您轻松掌握任务进度&#xff1b;多用户协作功能&#xff0c;让团队协作更加高效…

自定义实现 Java17+SpringBoot3+OpenAPI+Knife4j Starter

文章目录 前言正文1 创建starter项目1.1 依赖文件1.2 配置信息 2 自定义starer代码开发2.1 配置字段的定义2.2 自动配置类 3 验证starter3.1 测试项目的配置3.2 功能配置 application.yml3.3 测试代码3.3.1 实体类3.3.2 控制器13.3.2 控制器2 4 效果展示4.1 主页4.2 实体类列表…

day08-面向对象高级

1.代码块 1.1代码块引出 有时我们在使用构造方法时&#xff0c;除了进行属性的初始化外还需要使用一些其他的语句&#xff0c;以便更好的实现程序的功能&#xff0c;比如添加一些输出语句&#xff1b; 1.2 局部代码块 public void show(){System.out.println("show&quo…

Line Buffer概述

buffer在芯片物理上一般指的是SRAM&#xff0c;也可以指寄存器组。buffer的作用是用来在逻辑芯片上暂时存储数据&#xff0c;但不会是大量的数据。如果是大量数据一般会使用DRAM&#xff08;典型的指DDR&#xff09;作为存储芯片&#xff0c;用来存储大密度数据。line buffer可…

物流单打印机怎么调格式距离,佳易王物流托运单管理系统软件打印单据左边距调节教程

物流单打印机怎么调格式距离&#xff0c;佳易王物流托运单管理系统软件打印单据左边距调节教程 一、前言 以下软件操作教程以&#xff0c;佳易王物流单打印管理软件为例说明 软件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 1、佳易王物流单管理系统打印…

先进电机技术 —— 控制策略综述

一、先进电机控制策略综述 电机控制策略随着电力电子技术和微处理器技术的发展而日趋丰富和完善&#xff0c;各种先进的控制方法被广泛应用于直流电动机、交流电动机&#xff08;同步电机、感应电机&#xff09;等多种电机类型。下面是对几种主要先进电机控制策略的概述&#x…

ExcelVBA在选择区域(有合并)中删除清除空行

【问题】 关于删除空行&#xff0c;以前是用函数来完成工作的&#xff0c; 今天有人提出问题&#xff0c;传来这个文件&#xff0c; 现有数据&#xff0c;1w多行&#xff0c;其中有部分列有不同合并单元格&#xff0c;跨行也不一样。如果要进行筛选删除空行&#xff0c;有一定的…

工程师工具箱系列(1)MapStruct

文章目录 工程师工具箱系列&#xff08;1&#xff09;MapStruct芸芸众生初窥门径引入POM依赖创建转换器与方法进行使用IDEA好基友 游刃有余示例说明避免编写重复转换器实现复杂灵活转换 温故知新 工程师工具箱系列&#xff08;1&#xff09;MapStruct 芸芸众生 在Java项目开发…

2024年深圳市教师招聘报名流程(建议电脑)

2024年深圳市教师招聘报名流程&#xff08;建议电脑&#xff09; #深圳教师招聘 #深圳教招 #深圳教师招聘考试 #教师招聘报名照片处理 #深圳教师招聘笔试

法语语式与时态总结,柯桥零基础学法语

常用语式 法语中的常用语式分为&#xff1a;直陈式、条件式、虚拟式、命令式、不定式与分词式。 直陈式&#xff08;lindicatif&#xff09;初学法语时首先就要学直陈式&#xff0c;也是最常用的语式&#xff0c;表示确实发生的动作。 条件式&#xff08;le conditionnel&am…

动态规划----股票买卖问题(详解)

目录 一.买卖股票的最佳时机&#xff1a; 二.买卖股票的最佳时机含冷冻期&#xff1a; 三.买卖股票的最佳时期含⼿续费&#xff1a; 四.买卖股票的最佳时机III: 五.买卖股票的最佳时机IV: 买卖股票的最佳时机问题介绍&#xff1a;动态规划买卖股票的最佳时机是一个经典的…

LeetCode 题目 119:杨辉三角 II

作者介绍&#xff1a;10年大厂数据\经营分析经验&#xff0c;现任字节跳动数据部门负责人。 会一些的技术&#xff1a;数据分析、算法、SQL、大数据相关、python&#xff0c;欢迎探讨交流 欢迎加入社区&#xff1a;码上找工作 作者专栏每日更新&#xff1a; LeetCode解锁1000题…

Windows11“重置此电脑”后,Edge浏览器在微软应用商店显示“已安装”,但是开始菜单搜索不到的解决办法

Windows11“重置此电脑”后&#xff0c;Edge浏览器在微软应用商店显示“已安装”&#xff0c;但是开始菜单搜索不到的解决办法 为什么重新使用Edge&#xff1f;问题描述不该更新可用更新问过AI&#xff08;通义千问&#xff09;&#xff0c;并且AI提供方法全都无效。现象 操作步…

python3如何安装bs4

在python官网找到beautifulsoup模块的下载页面&#xff0c;点击"downloap"将该模块的安装包下载到本地。 将该安装包解压&#xff0c;然后在打开cmd&#xff0c;并通过cmd进入到该安装包解压后的文件夹目录下。 在该文件目录下输入"python install setup.py&quo…

nss刷题(2)

1、[NSSCTF 2022 Spring Recruit]ezgame 打开题目是一个游戏界面 发现是有分数的&#xff0c;猜测分数达到某个之后可以获得flag&#xff0c;查看源码看一下 看到末尾显示分数超过65后显示flag 在js中找到了一个score,将他的值改为大于65的数后随意玩一次就可以得到flag同时&a…

Python使用Rembg库去除图片背景

一、引入Rembg库 #库地址 https://github.com/danielgatis/rembg#CPU使用 pip install rembg # for library pip install rembg[cli] # for library cli#GPU使用&#xff08;系统支持onnxruntime-gpu&#xff09; pip install rembg[gpu] # for library pip install rembg[gp…

JAVA 集合(单列集合)

集合框架 1.集合的特点 a.只能存储引用数据类型的数据 b.长度可变 c.集合中有大量的方法,方便我们操作 2.分类: a.单列集合:一个元素就一个组成部分: list.add(“张三”) b.双列集合:一个元素有两部分构成: key 和 value map.put(“涛哥”,“金莲”) -> key,value叫做键值…

常用Linux命令详细总结

一、文档编辑、过滤、查看命令 1、cp 复制文件和目录 -a 复制文件并保持文件属性 -d 若源文件为链接文件&#xff0c;则复制链接文件属性而非文件本身 -i 覆盖文件前提示&#xff0c;如果不要提示&#xff0c;在命令前加上\ -r 递归复制&#xff0c;通常用于目录的复制 …

[muduo网络库]——muduo库Buffer类(剖析muduo网络库核心部分、设计思想)

接着之前我们[muduo网络库]——muduo库Socket类&#xff08;剖析muduo网络库核心部分、设计思想&#xff09;&#xff0c;我们接下来继续看muduo库中的Buffer类。其实Buffer在我的另一篇博客里面已经介绍过了深究muduo网络库的Buffer类&#xff01;&#xff01;&#xff01;&am…

QTreeView学习 branch 虚线设置

1、方法一&#xff1a; #include <QStyleFactory> ui.treeView->setStyle(QStyleFactory::create("windows")); 2、方法二&#xff1a; QString strtyle2 R"( QTreeView::branch:has-siblings:!adjoins-item { border-image: url(:/TreeViewDe…