使用moy快速开发后台管理系统(五)

moy是什么?

moy 是基于模型框架 keroUI 框架 neoui 实现的应用框架,是前端集成解决方案,为企业级应用开发而生。
github地址:https://github.com/iuap-design/tinper-moy

step 5. 实现grid数据编辑和删除

  1. 因为在上面已经在html中加入了field为operate的列加入到了表格中了,见step 3。所以我们现在针对该属性定义的rederType属性中的值optFun,在pages/cardtable/cardtable.js中的viewModel对象中加入对应的方法,就可以显示出修改和删除图标了:

    var viewModel = {
      ...
    
      //定义操作列的内容 begin
      optFun: function(obj) {
         var delfun = "data-bind=click:event.delClick.bind($data," + (obj.gridObj.getDataTableRowIdByRow(obj.row)) + ")";
         var editfun = "data-bind=click:event.editClick.bind($data," + (obj.gridObj.getDataTableRowIdByRow(obj.row)) + ")";
         obj.element.innerHTML = '<div><i class="op uf uf-pencil" title="修改"' + editfun + '></i>' + '<i class=" op icon uf uf-del title="删除" ' + delfun + '></i></div>';
         ko.applyBindings(viewModel, obj.element);
      },
      //定义操作列的内容 end
    
      ...
    }
  2. optFun方法中动态的加入了修改删除图标,并绑定了相应的点击事件delClickeditClick。所以最后我们再往pages/cardtable/cardtable.js中的viewModel.ev中加入对应的方法:

    var viewModel = {
         ...
         event: {
             ...
                //点击事件 begin
                 editClick: function(index) {
                     viewModel.index = index;
                     $('#editPage').find('.u-msg-title').html("编辑");
                     viewModel.event.clearDt(viewModel.dtnew);
                     var row = viewModel.dt1.getSelectedRows()[0];
               viewModel.dtnew.setSimpleData(viewModel.dt1.getRowByRowId(index).getSimpleData());
                     $('#code').attr("readonly", "readonly");
                     window.md = u.dialog({
                         id: 'editDialog',
                         content: '#editPage',
                         hasCloseMenu: true
                     });
                 },
                 delClick: function(index) {
                     var row = viewModel.dt1.getSelectedRows()[0];
                     var data = viewModel.dt1.getRowByRowId(index).getSimpleData()
                     u.confirmDialog({
                         msg: "是否删除" + data.name + "?",
                         title: "删除确认",
                         onOk: function() {
                             viewModel.dt1.removeRowByRowId(index);
                         },
                         onCancel: function() {}
                     });
                 }
           //点击事件 end
         }
    }
  3. 因为修改和新增是用的同一个弹出页面,所以现在,修改和删除功能也完成了


到这里,我们已经完成所有的之前提到的功能,但仅仅是完成,并不完善。

(完)

转载于:https://www.cnblogs.com/olddoublemoon/p/6557406.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值