当前位置:首页 > 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核心内容整理): 响应式系统 响应式数据的基本原理 依赖收集与触发更新 实现简易响应式系统 Proxy与Refl…

vue使用vr实现标注

vue使用vr实现标注

Vue 中使用 VR 实现标注的方法 在 Vue 项目中结合 VR 技术实现标注功能,可以通过 WebXR 和 Three.js 等库实现。以下为具体实现方法: 安装依赖 确保项目中已安装 Thre…

vue实现微博发布动态

vue实现微博发布动态

使用Vue实现微博发布动态功能 创建Vue组件结构 新建一个WeiboPost.vue组件,包含文本框、图片上传和发布按钮: <template> <div class="we…

vue实现摘要

vue实现摘要

Vue 实现摘要的方法 在 Vue 中实现文本摘要功能通常涉及截取文本的前部分内容并添加省略号。可以通过计算属性、过滤器或自定义指令来实现。 计算属性实现 在 Vue 组件中定义一个计算属性,用于截…

vue列表实现

vue列表实现

Vue 列表实现方法 使用 v-for 指令 v-for 是 Vue 中用于渲染列表的核心指令,基于数据源动态生成 DOM 元素。语法格式为 item in items 或 (item, index)…

vue插件实现

vue插件实现

Vue 插件实现方法 Vue 插件是一种向 Vue 应用程序添加全局功能的机制。插件可以包含全局指令、过滤器、混入、实例方法等。 插件的基本结构 一个 Vue 插件通常是一个对象或函数,需要暴露一个…