Web开发小知识点(二)

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;}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vue3.0(六) toRef,toValue,toRefs和toRow,markRaw

文章目录 toReftoValuetoRefstoRowmarkRawtoRef和toRefs的区别toRaw 和markRaw的用处 toRef toRef 函数可以将一个响应式对象的属性转换为一个独立的 ref 对象。返回的是一个指向源对象属性的 ref 引用&#xff0c;任何对该引用的修改都会同步到源对象属性上。使用 toRef 时需…

[蓝桥杯 2021 国 ABC] 123(java)——前缀和,思维

目录 题目 解析 代码 这么久了&#xff0c;我终于能不看别人代码完整写出来了&#xff0c;呜呜呜。虽然过程也是很曲折。 题目 解析 这个题&#xff0c;找其中数列的规律&#xff0c;1,1,2,1,2,3,1,2,3,4&#xff0c;...&#xff0c;因此我们把拆分成行列&#xff0c;如下…

Java并发处理

Java并发处理 问题描述:项目中业务编号出现重复编号 生成编号规则&#xff1a;获取数据库表最大值&#xff0c;然后再做1处理&#xff0c;即为新编号&#xff08;因为起始值是不固定的&#xff0c;还存在‘字符数据’格式&#xff0c;做了字典项可配置&#xff0c;所以不能直…

Ai 一键美术绘画文章,蓝海项目,流量巨大,盈利成效显著

今天我要向大家介绍一个全新的蓝海项目&#xff0c;那就是AI一键美术绘画文章。这个项目打破了传统的思维模式&#xff0c;更加吸引人的眼球&#xff0c;已经在各大网站上引发了大量的关注&#xff0c;轻松在抖音上热门也变得简单易行且稳定。 下载 地 址 &#xff1a; laoa…

PopClip for Mac 激活版:让文本处理更高效

还在为繁琐的文本处理而烦恼吗&#xff1f;PopClip for Mac来帮您解决&#xff01;这款神器般的文本处理工具&#xff0c;能让您轻松应对各种文本处理任务。无论是写作、编程还是日常办公&#xff0c;PopClip for Mac都能助您一臂之力&#xff0c;让您的文本处理更高效、更便捷…

【基础绘图】 09.小提琴图

效果图&#xff1a; 主要步骤&#xff1a; 1. 数据准备&#xff1a;生成随机数组 2. 数据处理&#xff1a;计算四分位数、中位数、均值、最大最小值 3. 图像绘制&#xff1a;绘制小提琴图 详细代码&#xff1a;着急的直接拖到最后有完整代码 步骤一&#xff1a;导入库包及…

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

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

排序2——冒泡排序,快速排序(3种递归方式+3种非递归方式)

目录 1.交换排序 2.冒泡排序 2.1基本思路 1.1.2复杂度分析 3.快速排序 3.1基本思想 3.2Hoare版本&#xff08;最初的&#xff09; 3.2.1缺点 3.2.2优化 第一种——随机选key 第二种——三数取中 第三种——小区间优化 3.3挖坑版本&#xff08;更好理解&#xff09…

【谷粒商城】01-环境准备

1.下载和安装VirtualBox 地址&#xff1a;https://www.virtualbox.org/wiki/Downloads 傻瓜式安装VirtualBox 2.下载和安装Vagrant官方镜像 地址&#xff1a;https://app.vagrantup.com/boxes/search 傻瓜式安装 验证是否安装成功 打开CMD,输入vagrant命令&#xff0c;是否…

pyqt5将ui文件转为python文件

在pyqt5中使用 pyuic将ui文件转为py文件&#xff1a; 例如&#xff1a;将home.ui文件转为vio_detect.py文件&#xff0c;所需命令如下&#xff1a; pyuic5 -x home.ui -o vio_detect.py

【Linux】基于 Jenkins+shell 实现更新服务所需文件 -->两种方式:ssh/Ansible

&#x1f468;‍&#x1f393;博主简介 &#x1f3c5;云计算领域优质创作者   &#x1f3c5;华为云开发者社区专家博主   &#x1f3c5;阿里云开发者社区专家博主 &#x1f48a;交流社区&#xff1a;运维交流社区 欢迎大家的加入&#xff01; &#x1f40b; 希望大家多多支…

STL-Hashtable

hashtable hashtable是通过某种函数(hashFunc)使元素的存储位置与它的关键码之间能够建立一一映射的关系&#xff0c;这样在查找的时候就可以很快的找到该元素。 哈希函数 哈希函数的定义域必须包括需要存储的全部关键码&#xff0c;而如果散列表允许有m个地址时&#xff0c…

C++内存管理(1)

目录 1.new用法说明 2.new/delete在栈里面的运用 3.operator new/operator delete函数 4.构造函数的显式调用 5.malloc&&new&&free&&delete区别 1.new用法说明 &#xff08;1&#xff09;在C语言阶段&#xff0c;我们无论是为数组开辟空间&#x…

瀚高数据库(HighGoDB)Windows安装使用

1.下载 2.安装 瀚高数据库下载与安装&#xff08;Windows版&#xff09;-CSDN博客 3.连接工具 4.建库、建表操作 瀚高数据库管理工具-CSDN博客 *报错Cant access non-default database&#xff0c;需要右键数据库-设为活动对象 5.导入外部数据&#xff08;迁移、对比&…

云贝教育 |【好课上新】ITSS服务工程师与服务经理认证培训

课程前言 ITSS是中国电子技术标准化研究院推出的&#xff0c;包含“IT 服务工程师”和“IT 服务经理”的系列培训。有效满足GB/T 28827.1 的符合性评估要求和ITSS服务资质升级要求。 IT 服务工程师”结合 IT服务从业人员能力规范和要求&#xff0c;从服务技术、服务技巧和服务…

Linux环境下parted工具使用

在工作中&#xff0c;我们经常会遇到大于分区大于2T的磁盘&#xff0c;由于系统盘最大不能超2T&#xff0c;我们会在做raid时将划分VD来进行装系统&#xff0c;但系统自动安装后无法将磁盘全部识别出来&#xff0c;管理员有时会要求手动对分区进行挂载&#xff0c;这个文档介绍…

基于PSO粒子群优化的PV光伏发电系统simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 粒子群优化算法基础 4.2 PV系统及其最大功率点跟踪 4.3 PSO在PV MPPT中的应用 5.完整工程文件 1.课题概述 基于PSO粒子群优化的PV光伏发电系统simulink建模与仿真。通过PSO粒子群优化进行最大功率…

Day25 代码随想录打卡|栈与队列篇---用队列实现栈

题目&#xff08;leecode T225&#xff09;&#xff1a; 请你仅使用两个队列实现一个后入先出&#xff08;LIFO&#xff09;的栈&#xff0c;并支持普通栈的全部四种操作&#xff08;push、top、pop 和 empty&#xff09;。 实现 MyStack 类&#xff1a; void push(int x) 将…

每日OJ题_贪心算法四④_力扣397. 整数替换

目录 力扣397. 整数替换 解析代码 力扣397. 整数替换 397. 整数替换 难度 中等 给定一个正整数 n &#xff0c;你可以做如下操作&#xff1a; 如果 n 是偶数&#xff0c;则用 n / 2替换 n 。如果 n 是奇数&#xff0c;则可以用 n 1或n - 1替换 n 。 返回 n 变为 1 所需…

C# Linq中的自定义排序

1.开发过程中&#xff0c;会遇到OrderBy/OrderByDescending排序无法满足的情况&#xff0c;此时就需要自定义排序&#xff0c;按照想要的排序规则取排序&#xff0c;比如订单的状态等等。 2.自定义泛型比较器代码如下&#xff1a; /// <summary>/// 自定义泛型比较器(用…