uniapp canvas 实现单指拖动、双指拖动和双指缩放 双指实现图片放大,首先获取图片的初始位置 initX 和 双指中心点到整个页面最左侧的距离 centerX ,得到双指中心点到自身边框的距离 bx ,接着通过缩放比例计算放大后双指中心点到自身边框的距离 ax,通过缩放前的 bx 减去缩放后的 ax ,就得到了缩放后图片在页面上移动的距离 scaleDx 了,y轴同理。双指拖动原理跟单指拖动一样,多加一步,用双指的中心点去计算,上图的点看成是双指的中心点,其他的一样。
uniapp 使用 iconfont 图标 custom-prefix 对应 font-family ,type 对应 icon 后缀带的图标名。font-family 可以用默认的也可以自己命名,我这里是改了的,要改三个地方。全局引入在App.vue中引入,在 标签下引入。局部引入,在需要用到的页面引入,方法一样。iconfont-阿里巴巴矢量图标库。
JS 实现大对象深度对比 在现代前端框架(如 React、Vue)中,常常需要管理应用的状态,这时大对象就显得尤为重要。如果对象过于庞大,可能会对性能产生负面影响,例如响应速度变慢、内存占用增加等。大对象一般包含多个嵌套层级,可能包括数组、对象、函数等。
Vue3 自定义指令 可以定义指令的生命周期钩子,比如 created, beforeMount, mounted, beforeUpdate, updated, beforeUnmount, unmounted 等。在 main.js 文件中,通过 app.directive 方法来注册。
Vue3 使用 echarts 这个问题是在切换 series 或者 resize 时报错的, vue3 中使用 proxy 的方式监听响应式, this.chart 会被在 vue 内部转换成响应式对象,从而在 resize 的时候获取不到。在实例化echart时,将其指定为非响应式的即可。
Vue 3 纯前端实现导出excel功能 使用 xlsx-oc 的 exportExcel(header, list, fileName) 方法实现(header 表头数据,list 表格数据,fileName 文件名)
React Native FlatList 实现上拉加载、下拉刷新 FlatList 提供了 上拉加载(onEndReached)、下拉刷新(onRefresh)、是否显示加载的 loading 效果(refreshing)这三个属性。
Vue3 el-form 当有必填项未填的时候,提交表单时光标自动移动到第一个未填项且出现提示信息 利用 Object.prototype.toString.call() 方法判断 proxy.$refs[keys[0]] 的类型是否为对象的字符串形式。1. 当校验不通过时收集所有未通过字段项的提示信息,将其通过 push 方法添加到定义好的数组中 messageArr。2. 通过 proxy.$refs[keys[0]] 获取到首个字段校验不通过的提示信息;3. 最后通过 scrollIntoView 方法滚动到首个不通过校验字段项。,作用主要是用来定位(ref 的值建议与 prop 同名)。
Vue3 实现长时间未操作系统,登录过期的功能 登录成功后记录时间(记为上一次点击),后面每次点击的时候都获取一次当前的时间,将当前时间减去上一次点击页面的时间,如果小于15分钟,就用当前的时间替换掉上一次点击的时间,大于15分钟就退出登录。用户登录系统,设置超时时间为15分钟,用户超过15分钟未操作页面,则在15分钟后再次点击页面的时候出现退出登录提示,点击跳转到登录页。
React Native 滚动到页面指定位置 3. 再通过 scrollViewRef.current.scrollTo({y: layoutY[i], animated: true});滚动到对应位置,y 是刚才获取到的 e.nativeEvent.layout.y。1. 在渲染需要滚动到的指定位置的 View 标签,通过 onLayout 的 e.nativeEvent.layout.y 获取每个关键词距离页面顶部的位置;2. 给 绑定一个 ref = {scrollViewRef};
React Native 使用 react-native-table-component 实现表格 使用第三方库 react-native-table-component。使用第三方库 react-native-chart-kit。
vue 的五种组件通信方式 Vue 实例作为中央事件总线,通过 $on 监听事件,$emit 发布事件,实现任意组件间的通信。父组件通过 props 向子组件传递数据,子组件通过 emit 发送事件给父组件。之间的简单通信,父组件向子组件传递数据,子组件通过事件触发通知父组件。Vue.js 的官方状态管理库,集中式存储管理应用的所有组件的状态。适用于需要在子组件中访问父组件的特性和监听器的场景。获取父组件传递的非 prop 特性,通过。获取父组件传递的事件监听器。适用于复杂的组件结构,需要在。关系的非父子组件通信,或者。
Vue 一个项目实现多个入口文件打包(单页面打包) 在 .env.development 和 .env.production 文件中定义打包变量。# 需要打包的页面 打包单页面填页面名称JsonData 打包全部all。
React Native 打包(本地) 接着会让你输入密钥库口令,我用的是官网给的 my-release-key ,这个口令最好一个项目的开发都统一,这样 gradle 配置一次就可以,后面不需要再改。
React Native 封装一个双层 tab 栏 react-native-elements 只提供单层的 tab 切换,且无法嵌套使用,所以使用 tab 和 button 这两个组件封装了一个,可以自定义两层 tab 标题和每个 tab 对应的页面(以组件形式传入)。
React Native 封装一个表单组件 使用 react-native-modal-datetime-picker 第三方组件,只能选择年月日,时间不进行处理的话是默认当前时间(为了适应后端接口需要,我这里设置了个 initTime ,可以手动将时间设置为 00:00:00 或者 23:59:59)。使用 react-native-dropdown-picker 第三方实现,现在多选 multiple 的选择结果值有问题,仍是单选结果。使用 elements 的 Input 组件,集成 Formik 和 Yup 表单校验。