EasyUI中tree获取半选中和选中的项

EasyUI中tree有三种选中状态,分别是 checked(选中)、unchecked(未选中)、indeterminate(部分选中)。

其中 indeterminate 状态比较特殊,主要表示只有部分子节点选中的父级状态,表现为选中框是个圆点。

EasyUI 为这三种状态的获取提供了比较好的方法:

var nodes = $('#tt').tree('getChecked'); // 获取选中的节点
var nodes = $('#tt').tree('getChecked', 'unchecked'); //获取未选中的节点
var nodes = $('#tt').tree('getChecked', 'indeterminate'); // 只获取部分选中的节点
var nodes = $('#tt').tree('getChecked', ['checked','indeterminate']); // 同时获取选中的和部分选中的节点

如何从零创建 Vue 项目

Vue.js 是一个流行的前端框架,可以用于构建现代化的 Web 应用。本文将介绍如何从零创建一个 Vue 项目。

1. 安装 Node.js

在创建 Vue 项目前,需要先安装 Node.js,因为 Vue 依赖 npm(或 yarn)来管理包。

  • 访问 Node.js 官网 下载并安装最新版。
  • 安装完成后,可以运行以下命令检查安装是否成功:
node -v
npm -v

如果成功安装,会输出 Node.js 和 npm 的版本号。

2. 使用 npm 创建 Vue 项目

Vue 官方提供了 create-vue 工具来快速创建 Vue 3 项目。

运行以下命令创建一个新的 Vue 项目:

npm create vue@latest

在执行命令后,终端会提示你选择一些选项,例如是否使用 TypeScript、Pinia、Vue Router 等。根据需要进行选择。

如果希望直接指定项目名称,例如 my-vue-app,可以使用:

npm create vue@latest my-vue-app

然后进入项目目录:

cd my-vue-app

3. 安装依赖

Vue 创建完成后,需要安装项目依赖:

npm install

如果你使用 yarn 或 pnpm,也可以使用:

yarn install
# 或
pnpm install

4. 启动开发服务器

安装依赖后,运行以下命令启动本地开发服务器:

npm run dev

终端会输出一个本地访问地址,例如:

Local: http://localhost:5173/

打开浏览器访问该地址,即可看到 Vue 应用的默认页面。

5. 目录结构介绍

Vue 项目生成后,基本的目录结构如下:

my-vue-app/
├── node_modules/       # 依赖包目录
├── public/             # 静态资源
├── src/                # 源代码
│   ├── assets/         # 资源文件
│   ├── components/     # 组件
│   ├── App.vue         # 根组件
│   ├── main.js         # 入口文件
├── .gitignore          # Git 忽略文件
├── package.json        # 项目配置文件
├── README.md           # 项目说明文件

6. 构建生产环境代码

当开发完成后,可以运行以下命令打包生产环境代码:

npm run build

生成的静态文件会被放在 dist/ 目录下,可以部署到服务器。

7. 其他常用命令

  • 运行测试:npm run test
  • 格式化代码:npm run lint

至此,你已经成功从零创建了一个 Vue 项目,并可以进行开发和部署。希望这篇教程对你有所帮助!

npm 删除全局包

在使用 npm 安装全局包时,可能会遇到需要删除某些不再使用的包的情况。以下介绍两种删除全局 npm 包的方法。

方法一:使用命令行删除

npm 提供了 uninstall 命令,可以直接通过以下命令删除全局安装的 npm 包:

npm uninstall -g 包名

例如,要删除 express,可以运行:

npm uninstall -g express

执行此命令后,npm 会自动删除全局安装的 express 及其相关文件。

方法二:手动删除对应包

如果上述方法无法完全删除,或者你希望手动清理全局包,可以直接删除 npm 存储全局包的目录。

Windows 用户

全局 npm 包通常存放在以下目录:

C:\Users\你的用户名\AppData\Roaming\npm

你可以手动进入该文件夹,找到对应的包文件夹并删除。

此外,全局包的依赖通常存放在 node_modules 目录中,对应的路径是:

C:\Users\你的用户名\AppData\Roaming\npm\node_modules

在 node_modules 目录下找到需要删除的包,直接删除即可。

macOS / Linux 用户

在 macOS 或 Linux 系统上,全局 npm 包通常存放在 /usr/local/lib/node_modules 目录下。

你可以使用以下命令删除某个包:

sudo rm -rf /usr/local/lib/node_modules/包名

额外检查

删除全局 npm 包后,可以运行以下命令来检查是否删除成功:

npm list -g --depth=0

如果包名已经不在列表中,则说明删除成功。

希望这篇文章对你有所帮助!

npm使用淘宝源

众所周知,npm官方源在国内很慢,好在国内有一些厂家提供了国内的npm源镜像,比如淘宝的npm源,本文将教会你如何配置npm以使用淘宝源,在终端工具中执行下面的命令:

npm config set registry https://registry.npmmirror.com

执行后,即可把npm源设置为国内淘宝源。

如果想要改回官方源,可以执行下面的命令:

npm config set registry https://registry.npmjs.org

执行后,npm源就又变成了官方源。

Vue3 + Element Plus 日期时间选择器 (el-date-picker) 格式化指南

在 Vue3 + Element Plus 项目中,el-date-picker 是一个强大的日期时间选择组件,支持多种格式化方式。在使用 el-date-picker 组件时,我们可以通过 value-format 来控制其绑定值的格式。

1. value-format 参数介绍

在 el-date-picker 组件中,value-format 主要用于定义 v-model 绑定的数据格式。常见格式如下:

timestamp:时间戳格式,例如 1709376600000

YYYY-MM-DD:日期格式,例如 2025-03-02

YYYY-MM-DD hh:mm:ss:日期时间格式,例如 2025-03-02 14:30:00

YYYY/MM/DD HH:mm:ss:斜杠分隔格式,例如 2025/03/02 14:30:00

2. 示例代码

以下是一个 el-date-picker 组件的使用示例,绑定到 form.start_time,并使用 YYYY-MM-DD hh:mm:ss 作为 value-format。

<template>
  <el-form :model="form">
    <el-form-item label="开始时间">
      <el-date-picker
        v-model="form.start_time"
        type="datetime"
        value-format="YYYY-MM-DD hh:mm:ss"
        placeholder="请选择日期时间" />
    </el-form-item>
  </el-form>
</template>

<script setup>
import { reactive } from 'vue';

const form = reactive({
  start_time: '' // 初始值为空
});
</script>

3. value-format 的作用

  • value-format 定义了 v-model 绑定的值的格式,适用于表单提交时传输标准化格式的数据。
  • 如果不设置 value-format,默认绑定的是 Date 对象,而不是字符串。
  • 在处理时间格式化时,建议根据后端要求设置合适的 value-format,如 YYYY-MM-DD HH:mm:ss 以确保数据兼容性。

4. format 与 value-format 的区别

参数作用
format控制 UI 组件显示的格式
value-format控制 v-model 绑定的值的格式

例如,如果 format="YYYY/MM/DD" 而 value-format="YYYY-MM-DD hh:mm:ss",那么用户在界面上看到的格式是 2025/03/02,但提交的数据格式是 2025-03-02 14:30:00。

总结:

在 Vue3 + Element Plus 中,el-date-picker 组件的 value-format 参数用于控制数据的格式化,以便前后端数据交互。通过合理配置 value-format,可以确保数据在前端展示与后端存储之间保持一致。

如果需要更多自定义格式或处理时间转换,可以结合 dayjs 或 moment.js 进行进一步操作。

希望本文能帮助你更好地理解 el-date-picker 的格式化配置!

如何在 AdminLTE 中实现动态菜单高亮效果

在开发后台管理系统时,菜单的高亮效果是一个很常见的需求。它可以帮助用户快速识别当前所在的页面,提升用户体验。AdminLTE 是一个流行的后台管理模板,它提供了丰富的 UI 组件和功能,但默认情况下,菜单的高亮效果需要我们自己实现。

下面是一个简单的 JavaScript 代码示例,用于在 AdminLTE3 中实现动态菜单高亮效果。这段代码会根据当前页面的 URL,自动为对应的菜单项添加高亮样式。

<script>
	$(function () {
		/** add active class and stay opened when selected */
		var url = window.location;
		// for sidebar menu entirely but not cover treeview
		$('ul.nav-sidebar a').filter(function () {
			return this.href == url;
		}).addClass('active');
		// for treeview
		$('ul.nav-treeview a').filter(function () {
			return this.href == url;
		}).parentsUntil(".nav-sidebar > .nav-treeview").addClass('menu-open').prev('a').addClass('active');
	});
</script>

代码解析

  1. 获取当前 URL:通过 window.location 获取当前页面的 URL。
  2. 普通菜单高亮:通过 ul.nav-sidebar a 选择器找到所有侧边栏菜单项,然后使用 filter 方法筛选出与当前 URL 匹配的菜单项,并为其添加 active 类。
  3. 树形菜单高亮:对于树形菜单(通常是有子菜单的项),代码会先找到匹配的菜单项,然后向上查找父级元素,添加 menu-open 类以展开菜单,同时为父级链接添加 active 类。

如果你用的是 AdminLTE2,那么可以使用下面的代码:

<script>
    $(document).ready(function () {
        /** add active class and stay opened when selected */
        var url = window.location;
        // for sidebar menu entirely but not cover treeview
        $('ul.sidebar-menu a').filter(function () {
            return this.href == url;
        }).parent().siblings().removeClass('active').end().addClass('active');
        // for treeview
        $('ul.treeview-menu a').filter(function () {
            return this.href == url;
        }).parentsUntil(".sidebar-menu > .treeview-menu").siblings().removeClass('active').end().addClass('active');
    })
</script>