当前位置:首页 > 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的响应式数据和事件绑定特性来完成。主要思路是利用v-show或v-if控制下拉菜单的显示与隐藏,并通过鼠标事件或点击事件触发状态变化。…

vue实现拍照

vue实现拍照

Vue实现拍照功能 在Vue中实现拍照功能通常需要结合浏览器的MediaDevices API和Canvas元素。以下是具体实现方法: 安装依赖(可选) 如果需要更简单的封装,可以安装vue-web…

vue实现复选

vue实现复选

Vue 实现复选框 在 Vue 中实现复选框可以通过 v-model 指令绑定数据,同时结合 input 元素的 type="checkbox" 属性来实现。以下是几种常见的实现方式: 单个复选框…

vue能实现

vue能实现

Vue.js 是一个流行的前端框架,能够实现多种功能。以下是 Vue 能够实现的主要功能和特性: 响应式数据绑定 Vue 的核心特性之一是响应式数据绑定。通过数据驱动视图,当数据发生变化时,视图会自…

通过vue实现

通过vue实现

Vue 实现方法 安装 Vue 确保已安装 Node.js 和 npm,通过以下命令安装 Vue CLI: npm install -g @vue/cli 创建 Vue 项目 使用 Vue CLI…

vue实现录像

vue实现录像

Vue 实现录像功能 在 Vue 中实现录像功能通常需要借助浏览器的 MediaDevices API 和 MediaRecorder API。以下是实现步骤: 获取用户摄像头和麦克风权限 使用 n…