首页 > 其他分享 >mui用列表实现表格的增删改查

mui用列表实现表格的增删改查

时间:2023-07-11 10:11:31浏览次数:40  
标签:function 改查 li var dBox 增删 document mui

我的需求是实现表格的增删改查,原需求是有两列的表,有三列的表,因为移动端的表格操作不方便,所以想采用以前常用的列表形式来实现。

先看画面效果。

 一,先用静态html代码,实现画面呈现的样式,采用列表嵌套表格的方法,表格可以约束列宽。

<div class="mui-table">
    <div class="mui-table-cell mui-col-xs-2 mui-text-center">
        <span class="mui-h4">序号</span>
    </div>
    <div class="mui-table-cell mui-col-xs-6 mui-text-center">
        <span class="mui-h4">检测人</span>
    </div>
    <div class="mui-table-cell mui-col-xs-4">
    </div>
</div>

<div class="mui-card" style="margin-bottom: 35px;">
    <ul id="OA_task_1" class="mui-table-view">
        
        <li class="mui-table-view-cell" id="1">
            <div class="mui-slider-right mui-disabled">
                <a class="mui-btn mui-btn-red">删除</a>
            </div>
            <div class="mui-slider-handle">
                <div class="mui-table">
                    <div class="mui-table-cell mui-col-xs-4">
                        <h5 class="mui-ellipsis">1</h5>
                    </div>
                    <div class="mui-table-cell mui-col-xs-8">
                        <span class="mui-h5">张三</span>
                    </div>
                </div>
            </div>
        </li>
        <li class="mui-table-view-cell" id="2">
            <div class="mui-slider-right mui-disabled">
                <a class="mui-btn mui-btn-red">删除</a>
            </div>
            <div class="mui-slider-handle">
                <div class="mui-table">
                    <div class="mui-table-cell mui-col-xs-4">
                        <h5 class="mui-ellipsis">2</h5>
                    </div>
                    <div class="mui-table-cell mui-col-xs-8">
                        <span class="mui-h5">李四</span>
                    </div>
                </div>
            </div>
        </li>
        <li class="mui-table-view-cell" id="3">
            <div class="mui-slider-right mui-disabled">
                <a class="mui-btn mui-btn-red">删除</a>
            </div>
            <div class="mui-slider-handle">
                <div class="mui-table">
                    <div class="mui-table-cell mui-col-xs-4">
                        <h5 class="mui-ellipsis">5</h5>
                    </div>
                    <div class="mui-table-cell mui-col-xs-8">
                        <span class="mui-h5">爱新觉罗</span>
                    </div>
                </div>
            </div>
        </li>
    </ul>
</div>

删除采用手指左滑删除,这个是官方网站的示例,直接copy,删除的js代码如下:

(function($) {

$('#OA_task_1').on('tap', '.mui-btn', function(event) {
var elem = this;
var li = elem.parentNode.parentNode;
mui.confirm('确认删除该条记录?', 'Hello MUI', btnArray, function(e) {
if (e.index == 0) {
li.parentNode.removeChild(li);
} else {
setTimeout(function() {
$.swipeoutClose(li);
}, 0);
}
});
});
var btnArray = ['确认', '取消'];

})(mui);

二、增加数据时,准备迁移到新的画面,用户选择之后返回本画面,在列表的最后添加,添加的规则是序号最大加一,名称直接显示,js代码:

mui.plusReady(function() {

    document.getElementById("setry").addEventListener('tap', function() {
        var dBox = document.getElementById("OA_task_1");
        dBox.appendChild(createFragment("沙悟净"));
    });
    
});

var createFragment = function(name) {
    
    var dBox = document.getElementById("OA_task_1");
    var h5 = dBox.getElementsByTagName('h5');
    var id = 1;
    if(h5.length >0) {
        id = id + Number(h5[h5.length-1].innerText);
    }
    
    var fragment = document.createDocumentFragment();
    var li;
    //mui.toast(data.length);
    //for (var i = 0; i < data.length; i++) {
        li = document.createElement('li');
        li.id = id;
        li.className = 'mui-table-view-cell';
        li.innerHTML =
            '<div class="mui-slider-right mui-disabled"><a class="mui-btn mui-btn-red">删除</a></div><div class="mui-slider-handle"><div class="mui-table"><div class="mui-table-cell mui-col-xs-4"><h5 class="mui-ellipsis">'+ id +'</h5></div><div class="mui-table-cell mui-col-xs-8"><span class="mui-h5">'+ name +'</span></div></div></div>';
        fragment.appendChild(li);
    //}
    return fragment;
};

 

 三、画面操作中,数据不进行提交,而是在最后用户点击提交按钮,统一提交,所以,增加,删除(无修改)操作完成后,直接获取列表数据,IF提交。

获取列表内容的代码

document.getElementById("next").addEventListener('tap', function() {
                    var dBox = document.getElementById("OA_task_1");
                    var dSpan = dBox.getElementsByTagName('span');
                    var spans = [];
                    
                    for(var i=0;i<dSpan.length;i++){
                        console.log(dSpan[i].innerText);
                        spans.push(dSpan[i].innerText);
                    }
                });

 

这样,静态的调研工作就结束了,接下来把静态列表,通过IF获取动态做成,就大功告成了。

 

标签:function,改查,li,var,dBox,增删,document,mui
From: https://www.cnblogs.com/fnym/p/17543189.html

相关文章

  • 频道管理——增删改查
    对频道进行增删改查,在admin网关中增加leadnews-media路由packagecom.heima.wemedia.service.impl;importcom.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;importcom.baomidou.mybatisplus.core.toolkit.Wrappers;importcom.baomidou.mybatisplus.ex......
  • 双电机四驱仿真模型,纯电动汽车,基于cruise simui策略部分包含能量回收,扭矩分配。
    双电机四驱仿真模型,纯电动汽车,基于cruisesimui策略部分包含能量回收,扭矩分配。提供cruise模型,simulink策略模型,并提供策略说明文档。模型亲自搭建YID:4869641085747071......
  • 怎样优雅地增删查改(一):从0开始搭建Volo.Abp项目
    @目录项目介绍模块化由框架实现的需要实现的创建项目创建业务模块配置引用和依赖配置DbContext创建实体和Dto配置AutoMapper软件系统中数据库或者持久层的基本操作功能可以用Curd描述,Curd即增加(Create)、更新(Update)、读取查询(Retrieve)和删除(Delete),这4个单词的首字母。在常见的......
  • SpringBoot教学资料4-SpringBoot简单增删改查(带前端)
    最终样式:增: 删:  改:  项目结构:     - springboot1.5.9以下兼容jdk1.7- springboot2.x.x版本兼容jdk1.8- springboot3.0及以上版本兼容jdk17- springboot2.1之后的版本已经兼容JDK11 pom.xml:<?xmlversion="1.0"encoding="UTF-8"?><......
  • MySQL-增删改语句
    数据库增删改语句原创 Lyle_Tu Linux分布式主任 2023-06-2622:28 发表于福建收录于合集#数据库7个#语句2个#sql5个#服务器15个 插入数据使用INSERT语句可向指定表中插入数据。INSERT语法的基本结构如下:INSERTINTO<table_name>(column_name1,column......
  • Vue3+Element-Plus安装及模拟增删改查
    软件安装:nodejs16https://nodejs.org/download/release/v16.20.0/将npm设置为淘宝镜像:npmconfigsetregistryhttps://registry.npm.taobao.org 创建vue3项目:npminitvue@latestEleement-Plushttps://element-plus.gitee.io/zh-CN/安装:npminstallelement-......
  • JavaScript 链表的增删改查
       //节点对象classNode{constructor(data){this.data=data;//存储节点数据this.next=null;//存储下一个节点的引用,默认为null}}//链表对象classLinkedList{constructor(){this.head=null;//链表头节点,默认为null}......
  • 使用 SQLAlchemy 库来实现对 MySQL 数据库的增删改查
    在 Flask 中使用SQLAlchemy库来实现对MySQL数据库的增删改查fromflaskimportFlask,request,jsonifyfromflask_sqlalchemyimportSQLAlchemyapp=Flask(__name__)app.config['SQLALCHEMY_DATABASE_URI']='mysql://username:password@localhost/dbname'ap......
  • ELK 8.0.0 数据增删改查
    ELK8.0.0数据增删改查目录ELK8.0.0数据增删改查1创建文档数据2查找所创建的文档3更新文档中的数据4删除索引5match5.1match_all5.2match5.3match_phrase1创建文档数据PUTfcarey/_doc/1{"name":"fcarey","age":18,"city":"sz","tag&quo......
  • orm单表多表的增删改查
    单表操作 增#增1.create()2.对象.save()#django自带的sqlite3数据库对日期格式不是很敏感处理的时候容易出错#增#res=models.User.objects.create(name='jason',age=18,register_time='2002-1-21')#print(res)#importdatetime#cti......