- 博客(17)
- 收藏
- 关注
原创 需求:移动端输入框支持enter换行,动态行数,最多5行
思路:首先,input框肯定不能支持此需求,因为不支持enter换行的功能。直接想到textarea。用textarea,先指定rows为1。在textarea的onInput事件中,获取textarea的clientHeight、scrollHeight。当scrollHeight每次大于clientHeight时,rows++。当rows为5时,指定此时clientHeight为max-height。这样,,行数增加时可以实现功能。但是删除内容时,scrollHeight与clientHeight相等且
2022-06-08 22:27:18
461
原创 实现点击元素滚动到页面指定位置
需求:移动端,类似微信钉钉,消息引用功能,点击引用消息,滚动到当前消息位置。开始,打算用锚点实现:href属性与id一致,则点击会跳转到指定id位置。注意:使用a标签,且a标签不要包含子元素。id:部分点击改变href:这样,点击滑动就实现了。But,自测发现一个Bug。使用锚点,会改变当前url地址,所以再次刷新,页面就找不到了。。。页面地址变成了http://xxx/#/indicatorRight-3。解决:一开始在created,beforeDestroy
2022-06-01 15:10:41
869
原创 XMLHttpRequest学习1
网络请求这里总是似懂非懂,系统学习一下~XMLHttpRequest对象,用于与服务器交换数据。声明XMLHttpRequest对象:let xhr = new XMLHttpRequest()使用XHR:1.首先调用open()函数,该函数接受三个参数:a.请求类型 b.请求URL (只能访问同源url)c.是否异步。且open()函数只是为实际请求做准备。2.调用send()函数,该函数接受一个参数,是作为请求体发送的数据。且该参数必填,若不需要发送请求体,则为null。3.异
2022-05-05 23:18:28
201
原创 小程序学习(AXML --- 模板)
1.声明模板<template name="item1"> <view>name:{{name}}</view> <view>{{index}}:{{city}}</view></template>2.调用模板<template is="item1" data="{{...itemData}}"></template>Page({ data: { i
2022-05-05 17:21:37
150
原创 小程序学习(AXML --- 1.数据绑定)
AXML是用于描述小程序页面结构的语言,类似于HTML。1.简单绑定AXML中的数据与Page中的data中绑定,用{{}}括起来,类似于vue中用法,Page中的data更新,AXML中的数据也会实时更新。2.组件属性,控制属性,关键字:需用双引号封装<view id="item--{{id}}" a:if="{{condition}}"> Hello {{name}}!</view><button hidden="{{false}}">
2022-04-29 14:07:24
520
原创 小程序学习 (AXML--- 2.条件渲染 列表渲染)
1.a:if --- a:elif --- a:else类似于vue中v-if、v-else用法。不做赘述。条件为true时,才开始渲染。2.hiddenhidden类似于vue中v-show用法。不做赘述。元素始终被渲染,只是控制是否展示。3.block a:if若需要一次控制多个组件是否展示,则包裹在<block>标签中。<block>不会被渲染,只是起包裹作用。<block a:if="{{true}}"> <view> v
2022-04-29 14:06:27
505
原创 JSON对象深入学习
1.JSON对象在格式上与JavaScript不同的是,JSON中的对象属性名必须始终带双引号,且JSON中没有变量声明。2.JSON.stringify( )--------将JS序列为JSON此函数可以接收三个参数:1、需要序列化的对象2、过滤器:可以为数组或函数let obj = { name: "Lisa", city: "Xian", age: "23", food: ["mango","peach"], year: "2022"}
2022-03-28 22:30:32
785
原创 对象数组按照属性分类
groupByArr(arr) { let map = {} const newArr = [] for(let i = 0; i < arr.length; i++) { let item = arr[i] if (!map[item.catalog_id]) { newArr.push({ catalog_id: item.catalog_id, data: [item] }) map[item.cat...
2022-03-23 16:35:49
204
原创 proxy代理发送请求
1.查看本地ip地址,终端输入ipconfig指令2.proxy代理如果前端应用和后端 API 服务器没有运行在同一个主机上。需要在开发环境下将 API 请求代理到 API 服务器。在Vue的config.js中配置代理。代理是从指定的target后面开始匹配的,不是任意位置;配置pathRewrite可以做替换。...
2022-02-17 12:04:20
598
原创 统计字符串出现元素及出现次数
const S = "aabcccccaaa"const arr1 = [...S]let array = []let obj = {} for(let i=0;i<arr1.length;i++){ if(array.length>0){ let item = array.find((item) => item.name == arr1[i] ) if(item === undefined){ let.
2022-02-14 17:52:34
108
原创 父组件向子组件传对象数组时刷新数据子组件接收不到问题
父组件向子组件传基本数据类型值(Number、String、布尔值等),父组件传入的值刷新改变时,子组件可以接收得到。父组件向子组件传引用类型值(Object、Array等),父组件传入的值刷新改变时,子组件接收不到改变。这时需要使用watch进行监听。// 子组件接收值 props: { geoValue: { type: Object, default: () => { return {} } .
2022-01-07 15:59:01
1012
原创 uniapp scroll-view下拉滑动卡顿问题解决
scroll-view外面不要包裹父元素scroll-viewt添加class定宽高 <scroll-view refresher-background="lightgrey" scroll-y="true" class="scroll-view-item" @refresherrefresh="refresherrefresh" @refresherre
2022-01-06 17:34:59
3797
原创 【无标题】
可以使用includes来简化代码:arr.includes(searchElement,fromIndex),数组从fromIndex处开始查找 ,判断是否含有目标值并返回布尔值 。fromIndex不必须。
2021-12-17 17:24:46
79
原创 2021-11-16
computed:{ dateRange() { let {placeData,scatterValue,topData} = this return {placeData,scatterValue,topData} } }, watch: { dateRange() { this.chinaInit() this.getChinaOption() } },监听多个值不为空后,再调用函数...
2021-11-16 13:48:37
103
原创 echarts学习笔记~
echarts官网:https://echarts.apache.org/zh/option.html其中配置项太多了,主要学习需要参考官网Api,本篇文章总结一下实现echarts图表的基本步骤:引入echarts.js文件 准备呈现图表的div盒子 <div id="chart1"style="width:550px;height:280px></div> 初始化echarts实例对象 Var mCharts = echarts...
2021-11-02 11:04:52
115
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人