当前位置:首页 > VUE

vue easyui表格实现

2026-01-17 21:06:56VUE

Vue 与 EasyUI 表格集成方法

Vue 本身不直接支持 EasyUI,但可通过第三方库或手动集成实现。以下是两种主流方案:

方案一:使用 vue-easyui 封装库

安装官方维护的 Vue 适配版本:

npm install @jeecg/vue-easyui

基础表格示例代码:

<template>
  <div>
    <dg-datagrid
      :data="tableData"
      :columns="columns"
      :pagination="true"
      @rowClick="handleRowClick"
    ></dg-datagrid>
  </div>
</template>

<script>
export default {
  data() {
    return {
      tableData: [
        { id: 1, name: 'Item 1', price: 10 },
        { id: 2, name: 'Item 2', price: 20 }
      ],
      columns: [
        { field: 'id', title: 'ID' },
        { field: 'name', title: 'Name' },
        { field: 'price', title: 'Price' }
      ]
    }
  },
  methods: {
    handleRowClick(row) {
      console.log('Selected row:', row)
    }
  }
}
</script>

方案二:原生 EasyUI 集成

手动引入 EasyUI 资源后通过 Vue 控制:

  1. 引入资源文件

    <link rel="stylesheet" href="https://www.jeasyui.com/easyui/themes/default/easyui.css">
    <script src="https://www.jeasyui.com/easyui/jquery.min.js"></script>
    <script src="https://www.jeasyui.com/easyui/jquery.easyui.min.js"></script>
  2. Vue 组件封装

    
    <template>
    <div>
     <table id="dg" class="easyui-datagrid"></table>
    </div>
    </template>
export default { mounted() { $('#dg').datagrid({ url: '/api/data', columns: [[ { field: 'code', title: 'Code', width: 100 }, { field: 'name', title: 'Name', width: 100 } ]], onSelect: (index, row) => { this.$emit('row-select', row) } }) }, methods: { reload() { $('#dg').datagrid('reload') } } } ```

功能扩展建议

分页控制

$('#dg').datagrid({
  pagination: true,
  pageSize: 20,
  pageList: [10,20,50]
})

动态加载数据

this.$http.get('/api/data').then(res => {
  $('#dg').datagrid('loadData', res.data)
})

行编辑功能

vue easyui表格实现

$('#dg').datagrid({
  editable: true,
  editMode: 'click'
})

注意事项

  1. jQuery 版本需与 EasyUI 兼容,推荐使用 1.12.x 版本
  2. 动态数据更新时需手动调用 datagrid('loadData') 方法
  3. 事件处理建议通过 Vue 的 $emit 与父组件通信
  4. 样式冲突可通过深度选择器解决:
    >>> .datagrid-header { background: #f5f5f5 }

两种方案各有优劣:方案一更适合 Vue 技术栈,方案二适合已有 EasyUI 项目的渐进式改造。实际选择应评估项目具体需求和技术兼容性。

标签: 表格vue
分享给朋友:

相关文章

vue实现目录

vue实现目录

Vue 实现目录功能 在 Vue 中实现目录功能通常需要动态生成目录结构,并支持点击跳转到对应内容区域。以下是几种常见实现方式: 基于滚动监听和动态生成 安装依赖(如需): npm install…

vue前端实现登录

vue前端实现登录

实现登录功能的基本流程 使用Vue实现登录功能需要结合前端框架和后端API交互。以下是一个典型的实现方案: 安装必要依赖 确保项目已安装axios用于HTTP请求: npm install axi…

vue实现详情

vue实现详情

Vue 实现详情页的常见方法 使用动态路由 在 Vue Router 中配置动态路由参数,通过 $route.params 获取详情 ID。示例路由配置: { path: '/detail/:i…

vue实现 hover

vue实现 hover

实现 Vue 中的 hover 效果 在 Vue 中实现 hover 效果可以通过多种方式完成,以下是常见的几种方法: 使用 CSS 伪类 最简单的方式是直接使用 CSS 的 :hover 伪类,无…

vue核心实现

vue核心实现

Vue 核心实现原理 Vue.js 的核心实现主要包括响应式系统、虚拟 DOM、模板编译和组件化机制。以下是关键实现原理的详细说明: 响应式系统 Vue 使用 Object.defineProper…

vue实现ide

vue实现ide

Vue 实现 IDE 的基本思路 使用 Vue 构建一个简易的集成开发环境(IDE)需要整合代码编辑器、文件管理、终端模拟等功能。以下是关键实现步骤和推荐工具。 核心功能模块 代码编辑器 使用…