handsontable-修改后自动异步提交数据

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="handsontable-master/dist/handsontable.full.js"></script>
    <script src="axios.min.js"></script>
    <script src="jquery-1.10.2.min.js"></script>
    <script src="samples.js"></script>
    <link rel="stylesheet" media="screen" href="handsontable-master/dist/handsontable.full.css">
    <link rel="stylesheet" type="text/css" href="https://handsontable.com/static/css/main.css">
</head>
<body>
<div data-jsfiddle="example1" class="ajax-container">
    <div class="controls">
        <button name="load" id="load" class="intext-btn">Load</button>
        <button name="save" id="save" class="intext-btn">Save</button>
        <label><input type="checkbox" name="autosave" id="autosave" checked="checked" autocomplete="off">Autosave</label>
    </div>
    <pre id="example1console" class="console">Click "Load" to load data from server</pre>
    <div id="example1" class="hot handsontable htRowHeaders htColumnHeaders"></div>
</div>
</body>
<script>
    var $$ = function (id) {
                return document.getElementById(id);
            },
            container = $$('example1'),
            exampleConsole = $$('example1console'),
            autosave = $$('autosave'),
            load = $$('load'),
            save = $$('save'),
            autosaveNotification,
            hot;

    hot = new Handsontable(container, {
        cell: [
            {row: 0, col: 0, readOnly: true}
        ],
        startRows: 8,
        startCols: 6,
        rowHeaders: true,
        colHeaders: true,
        persistentState:true,
        afterChange: function (change, source) { //这里就是异步提交的地方
            if (source === 'loadData') {
                return; //don't save this change
            }
            if (!autosave.checked) {
                return;
            }
            clearTimeout(autosaveNotification);
            ajax('scripts/json/save.json', 'GET', JSON.stringify({data: change}), function (data) {
                return false;
                exampleConsole.innerText = 'Autosaved (' + change.length + ' ' + 'cell' + (change.length > 1 ? 's' : '') + ')';
                autosaveNotification = setTimeout(function () {
                    exampleConsole.innerText = 'Changes will be autosaved';
                }, 1000);
            });
        }
    });

    Handsontable.dom.addEvent(load, 'click', function () {
        ajax('scripts/json/load.json', 'GET', '', function (res) {
            var data = JSON.parse(res.response);

            hot.loadData(data.data);
            exampleConsole.innerText = 'Data loaded';
        });
    });

    Handsontable.dom.addEvent(save, 'click', function () {
        // save all cell's data
        ajax('scripts/json/save.json', 'GET', JSON.stringify({data: hot.getData()}), function (res) {
            var response = JSON.parse(res.response);

            if (response.result === 'ok') {
                exampleConsole.innerText = 'Data saved';
            }
            else {
                exampleConsole.innerText = 'Save error';
            }
        });
    });

    Handsontable.dom.addEvent(autosave, 'click', function () {
        if (autosave.checked) {
            exampleConsole.innerText = 'Changes will be autosaved';
        }
        else {
            exampleConsole.innerText = 'Changes will not be autosaved';
        }
    });
</script>
</html>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
回答: 你遇到的问题是在使用vue-awesome-swiper时,异步加载的数据无法显示。根据你提供的代码,可以看出你在mounted生命周期钩子中使用了axios来获取数据,并将数据赋值给了data属性。然而,你没有将获取到的数据传递给swiper组件进行展示。你需要在获取到数据后,将数据赋值给data属性,然后在模板中使用v-for指令来遍历数据并展示图片。具体的做法是在获取到数据后,将数据赋值给data属性,然后在swiper组件的swiper-slide标签中使用v-for指令来遍历data数组,并将每个元素作为图片的src属性值。这样就可以实现异步加载数据并展示的效果。 #### 引用[.reference_title] - *1* *3* [vue-awesome-swiper中的数据异步加载](https://blog.csdn.net/weixin_30533797/article/details/101165867)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [基于swriper4.的vue-awesome-swiper 插件异步数据加载的loop循环问题](https://blog.csdn.net/weixin_42454941/article/details/81711180)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值