加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

magento2 – Magento 2:显示加载器当Ajax调用Column行动作时?

发布时间:2020-12-16 02:55:56 所属栏目:百科 来源:网络整理
导读:网格xml列: column name='actions' class='MyTestUiComponentListingColumnsFeedsAdvancedActions' argument name='data' xsi:type='array' item name='config' xsi:type='array' item name='component' xsi:type='string'My_Test/js/grid/columns/a
网格xml列:

<column name='actions' class='MyTestUiComponentListingColumnsFeedsAdvancedActions'> 
    <argument name='data' xsi:type='array'> 
        <item name='config' xsi:type='array'>
            <item name='component' xsi:type='string'>My_Test/js/grid/columns/actions</item> 
            <item name='dataType' xsi:type='string'>text</item> 
            <item name='label' xsi:type='string' translate='true'>Actions</item> 
            <item name='sortOrder' xsi:type='number'>90</item> 
        </item>
    </argument>
</column>

Actions.js

define(
    [
    'jquery','underscore','mageUtils','uiRegistry','Magento_Ui/js/grid/columns/actions','Magento_Ui/js/modal/confirm'
    ],function ($,_,utils,registry,Column,confirm) {
        'use strict';
    return Column.extend(
        {

            /**
             * Applies specified action.
             *
             * @param   {String} actionIndex - Actions' identifier.
             * @param   {Number} rowIndex - Index of a row.
             * @returns {ActionsColumn} Chainable.
             */
            applyAction: function (actionIndex,rowIndex) {
                var action = this.getAction(rowIndex,actionIndex),callback = this._getCallback(action);

                if (action.confirm) {
                    this._confirm(action,callback);
                } else if (action.popup) {
                    this._popup(action,callback);
                } else {
                    callback();
                }

                return this;
            },_popup: function (action,callback) {
                var popupData = action.popup;
                var dataType = popupData.type;

                //Start loader
                var body = $('body').loader();
                body.loader('show');

                if (popupData.file !== undefined && popupData.file !== '') {
                    $.ajax(
                        {
                            url: popupData.file,async: false,dataType: "text",type: 'GET',showLoader: true,//use for display loader
                            success: function (data) {
                                popupData.message = data;
                            }
                        }
                    );
                }
                //Stop loader
                body.loader('hide');
            },});

使用showLoader:true和var body = $(‘body’).loader(); body.loader( ‘节目’);但是在ajax请求时无法启动加载程序.

在ajax调用期间需要另一种方法来启动loader.

解决方法

我遇到了同样的问题.在我的情况下,我需要加载’jquery / ui’依赖项.

define(
    [
    'jquery',...
    'jquery/ui'

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读