Vue — iview 可编辑表格案例

最后更新于:2022-04-02 08:09:06

>[success] # iview 可编辑表格案例 ~~~ 1.这个案例需要自行安装iview Ui 组件库 2.iview的table 和 ele的table 略有区别,iview的table 组件需要使用render函数去渲染 ~~~ >[info] ## 对iview--table 二次封装的案例 * 实现效果 可以直接改变某列的数据 ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/4fe20db2cdc4bb7f40ff50cc2c690417_1576x291.png) >[danger] ##### 封装的目录结构 ~~~ │ ├── 'components' // 存放组件文件夹 │ │ └── 'edit-table' // 存放对iview 二次封装文件 │ │ └─ 'edit-table.vue' // 对iview-table 组件二次封装自定义组存放位置 │ │ └─ 'index.js' // 入口文件 ~~~ >[danger] ##### 对edit-table.vue 封装 ~~~ 1.再对iview - tbale 进行二次封装的时候,需要简单的看一下api 使用说明 这里将下面需要的主要说明简单提取出来,方便理解 1.1.iview table配置和ele 不同,ele列配置需要我们使用ele-table提供的 'el-table-column' 组件,但iview 只需要你传递配置参数columns 1.2.iview-table 留出render 函数渲染模式的,在定制上更趋于数据驱动 2.组件的参数说明props中: 2.1.columns -- 接受父组件的iview-table 列的配置项 2.2 value -- 接受iview-table数据展示 3.二次封装的设想构建,首先想做一个可编辑列的table,因此需要对我们, 对传入组件进行配置的columns 参数进行二次加工,这里的做法增加一个 配置参数'editable' 来判断当前列是否可以进行编辑 4.是否可以编辑在应该在dom渲染的时候就进行对应的操作因此选 择'mounted' 的生命周期去做操作 5.操作数据 和 实际数据要进行深copy进行区分这里使用了'clonedeep'这个 插件 6.一共向外暴露两个方法一个是input 因为v-model 语法糖原因,所以需要父 子组件相互传递暴露出去 7.一个是'on-edit' 让用户拿到编辑数据 ~~~ ~~~ ~~~ >[danger] ##### 使用 ~~~ 1.editable 是我们自己自定义的配置项 ~~~ ~~~ ~~~
';