两种不同的新增选项交互方式(以及对应实现方式)

一、录入完成,再点新增,不可修改
使用场景:费用记录
在这里插入图片描述

ps:此图用faststone进行录屏,在https://cloudconvert.com/wmv-to-gif上将录好文件wmv格式在线转为gif

(1)、提供一个统一输入口,比如某几个输入框
(2)、编写显示的位置,简单代码如下:

<div>
        <ul id="list" class="list"></ul><button class="sureBtn" type="button" id="sureBtn" onclick="addTransaction();">确定添加</button>
</div>

(3)、编写添加按钮的js,代码如下:

let transactions = new Array();
let list = document.getElementById('list');
Array.prototype.myfilter = function(fun /*, thisp*/){
        var len = this.length;
        if (typeof fun != "function"){
            throw new TypeError();
        }
        var res = new Array();
        var thisp = arguments[1];
        for (var i = 0; i < len; i++){
            if (i in this){
                var val = this[i]; // in case fun mutates this
                if (fun.call(thisp, val, i, this)) {
                    res.push(val);
                }
            }
        }
        return res;
    };
function getRandomId(){
        return Math.floor(Math.random() * 100000000);
}
function addTransaction(){
	//根据自己的业务场景设置对象对应的属性值,这里随便set值,id是记录每条数据的唯一标识,删除方法要用到
    let transaction = {
        id:getRandomId(),
        text:"324",
        amount:"3333"
    }
    transactions.push(transaction);
    addTransactionDOM(transaction);
}
function addTransactionDOM(transaction){
        var item = document.createElement('li');
        //添加类名
        // item.classList.add('plus');
        // 设置内容
        item.innerHTML = '您赚到了'+transaction.id+'<button type="button" class="delete-btn" οnclick="removeTransaction('+transaction.id+')">&times;</button>';
        list.appendChild(item);
    }

    function removeTransaction(id){
        // transactions = transactions.filter(_ => _.id !== id);ie不兼容
        transactions = transactions.myfilter(function(item, inde, array){
            return item.id !== id; //过滤条件,根据自己需求修改
        })
        init();
    }
    function init(){
        list.innerHTML = "";
        transactions.forEach(addTransactionDOM);
    }

(4)、点击“确定添加”按钮,每次都会新增一条
在这里插入图片描述

(5)、点击后面的删除按钮,会删除对应行的内容

二、先点新增,再录入信息,可随时修改
使用场景:各种业务列表信息的录入
(1)、先点新增,新增后列表会出现一条没有录入信息的损失项:
在这里插入图片描述
(2)、新增的该条选项,提交的时候必须管控是否录入完整

实际业务系统的使用中,第二种场景比较常见,因为一般业务场景复杂,需要录入的信息较多,另一方面要支持录入可修改。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江左吴郎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值