当前位置:首页 > 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 控制:

vue easyui表格实现

  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 组件封装

    vue easyui表格实现

    
    <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)
})

行编辑功能

$('#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项目中实现打印功能可以通过多种方式完成,以下是几种常见的方法: 使用window.print()方法 这是最简单的打印方式,直接调用浏览器的打印功能。 meth…

国外vue实现表格控件

国外vue实现表格控件

Vue 表格控件实现方案 使用开源组件库(推荐) Element UI、Vuetify、Ant Design Vue 等主流库提供成熟的表格组件,支持排序、分页、筛选等功能。 Element UI…

vue穿梭框组件实现

vue穿梭框组件实现

实现基础穿梭框组件 在Vue中实现穿梭框组件,可以使用<el-transfer>(Element UI)或手动实现。以下是手动实现的核心逻辑: <template> &…

vue实现微博发布动态

vue实现微博发布动态

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

vue实现文章锚点定位

vue实现文章锚点定位

实现文章锚点定位的方法 在Vue中实现文章锚点定位可以通过多种方式完成,以下是几种常见的方法: 使用原生HTML锚点 通过HTML的id属性和<a>标签的href属性实现锚点跳转。在V…

vue实现a

vue实现a

Vue 实现 A 功能的方法 在 Vue 中实现 A 功能可以通过多种方式,具体取决于 A 功能的具体需求。以下是几种常见的实现方法: 使用 Vue 组件 通过创建自定义组件来实现 A 功能。组件…