【Naive UI】实现useDrawer hooks后续优化 之前的blog【Naive UI】实现useDrawer hooks-CSDN博客,提供了一种hooks方案以API的方式调用Naive UI的弹窗组件,在一般的单抽屉弹窗的业务场景下是没有问题的,但是后面发现,在打开一个抽屉后再打开新的抽屉,会出现问题:关闭上层抽屉,会把所有的抽屉都关闭掉。原因是因为按照原来的实现,抽屉组件创建时候都绑定了同一个show属性
【Naive UI】实现useDrawer hooks 最近在使用Vue3 + Vite + Naive UI开发新项目,发现Naive对于dialog,model组件都提供了API方式的调用实现,同时支持传入render函数,可以轻松地实现弹出式的组件功能。但是同样是弹出式组件的抽屉(drawer)却被不公平对待😡, 居然没提供API方式的调用,只能老老实实在template引入使用,这简直无法忍受,网上查了一圈没有找到相关的实现,到官方github的Issues居然没人提这个需求😮,所以我以hooks方式自己实现一个useDrawer。
【JavaScript基础】使用JSON.stringify快速提取数组键值 如果 replacer 为函数,则 JSON.stringify 将调用该函数,并传入每个成员的键和值。如果此函数返回 undefined,则排除成员。可选,文本添加缩进、空格和换行符,如果 space 是一个数字,则返回值文本在每个级别缩进指定数目的空格,如果 space 大于 10,则文本缩进 10 个空格。如果 replacer 是一个数组,则仅转换该数组中具有键值的成员。成员的转换顺序与键在数组中的顺序一样。必需, 要转换的 JavaScript 值(通常为对象或数组)。用于转换结果的函数或数组。
Element UI 组件el-table以高内聚的方式实现拖拽排序 最近碰到el-table做拖拽排序的需求,而且有好几个页面都用到相同的代码逻辑,就想着把这拖拽排序的代码给封装一下,多个地方都能复用。并且以高内聚的方式封装,其他项目要用的话,直接copy一个js文件过去就能用,方便快捷。
Element UI 组件全局设置默认配置 Element UI 组件库有时候想全局设置一些默认配置,避免重复代码。以vue项目为例,把以下js引入到main.js即可,再引入这个封装后的date-picker替换原先的el-date-picker,即可全局默认设置快捷选项,如果某个场景的组件需要定制,重新设置即可覆盖此默认值。Element UI 组件库有时候想全局设置一些默认配置,避免重复代码。以vue项目为例,把以下js引入到main.js即可。
TypeScript基础学习笔记 TypeScript 作为 JavaScript 语言的超集,它为 JavaScript 添加了可选择的类型标注,大大增强了代码的可读性和可维护性。同时,它提供最新和不断发展的 JavaScript 特性,能让我们建立更健壮的组件。
前端工程项目(Vue项目为例)目录文件命名规范(个人推荐) 例:person-manage.vue、new-information/index.vue、new-information/detail.vue。注意:Windows文件系统是不区分大小写的,而Linux区分,曾经发生:文件名小写,本地开发环境运行和打包都没问题,在CI上打包会报错找不到文件,使用大驼峰命名和引入文件时必须仔细区分好大小写。例:wx-config.js、request.js、design-pattern.ts、axios.d.ts。全部采用小写方式,以短横线分隔,有复数结构时使用复数形式。
Naive UI的数据表格 Data Table 动态显示隐藏列 刚好遇到一个需求,要根据不同状态,显示隐藏不同列,所以要动态修改columns属性的数组,看到官方githup仓库上也有这么个issue:但目前最新版本也并没有支持这个属性。Naive UI的表格组件跟Element UI有点不同,template里面不需要再写每一列的组件,而是通过数组渲染每一列的数据。通过控制width属性,再过滤掉宽度为0的列,就可以动态切换表格每一列的显示和隐藏。
SVG图标使用指南 介绍可缩放矢量图形(Scalable Vector Graphics,SVG),是一种用于描述二维的矢量图形,基于XML的标记语言。作为一个基于文本的开放网络标准,SVG能够优雅而简洁地渲染不同大小的图形,并和CSS,DOM,JavaScript和SMIL等其他网络标准无缝衔接。本质上,SVG 相对于图像,就好比HTML相对于文本。本文简要介绍它的使用方法。
【JavaScript进阶】函数柯里化 在计算机科学中,柯里化(Currying)是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术。这个技术由 Christopher Strachey 以逻辑学家 Haskell Curry 命名的,尽管它是 Moses Schnfinkel 和 Gottlob Frege 发明的。以下定义一个接收多个参数的函数,使用柯里化将它,当它接收足够的参数时,就执行函数。最后附上一段大神的极简currying代码,思路与上面的写法是一样的。
TypesScript+vue3+vite项目根据文件目录自动生成路由注册表 vue工程化项目每新增一个页面都要注册路由,是个繁琐而且重复的工作,下面通过vite提供的import.meta.glob方法自动引入路由,拼接路由注册表,从而减少手动注册路由的工作量。备注:如果使用webpack可以使用require.context(),也能做到根据文件目录生成路由注册表,这里不多赘述
vue管理后台项目表格分页搜索问题和element组件el-pagination的使用 管理端常见搜索功能,若不在第1页进行搜索,将会搜索出n条数据但界面表格当前页数无数据的问题,此文分析此问题和解决方案。