我已经在magento中创建了一个自定义订单网格。如果我对网格进行一次排序,则会发出ajax请求,并且一切都正确排序。但是,第二种排序将使用所有相同的订单ID呈现网格。
此问题与我的问题相同:https://magento.stackexchange.com/questions/123707/magento-grid-component-not-sorting-correctly。尝试了他的解决方案,但是没有用。
<form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Ui:etc/ui_configuration.xsd">
<argument name="data" xsi:type="array">
<item name="js_config" xsi:type="array">
<item name="provider" xsi:type="string">syncback_order_form.syncback_order_form_data_source</item>
<item name="deps" xsi:type="string">syncback_order_form.syncback_order_form_data_source</item>
</item>
<item name="label" xsi:type="string" translate="true">API URL Form</item>
<item name="config" xsi:type="array">
<item name="dataScope" xsi:type="string">data</item>
<item name="namespace" xsi:type="string">syncback_order_form</item>
</item>
<item name="template" xsi:type="string">templates/form/collapsible</item>
<item name="buttons" xsi:type="array">
<item name="save" xsi:type="array">
<item name="name" xsi:type="string">save</item>
<item name="label" xsi:type="string">Save API</item>
<item name="class" xsi:type="string">primary</item>
<item name="url" xsi:type="string">*/*/saveapi</item>
</item>
</item>
</argument>
<dataSource name="syncback_order_form_data_source">
<argument name="dataProvider" xsi:type="configurableObject">
<argument name="class" xsi:type="string">Panemirates\Syncbackorder\Ui\Component\Apiform\DataProvider</argument>
<argument name="name" xsi:type="string">syncback_order_form_data_source</argument>
<argument name="primaryFieldName" xsi:type="string">type_id</argument>
<argument name="requestFieldName" xsi:type="string">id</argument>
<argument name="collectionFactory" xsi:type="object">Panemirates\Syncbackorder\Model\ResourceModel\Collections\ApisavercollectionFactory</argument>
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="submit_url" xsi:type="url" path="panemirates/status/saveapi"></item>
</item>
</argument>
</argument>
<argument name="data" xsi:type="array">
<item name="js_config" xsi:type="array">
<item name="component" xsi:type="string">Magento_Ui/js/form/provider</item>
</item>
</argument>
</dataSource>
<fieldset name="callback_form">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<!--
<item name="collapsible" xsi:type="boolean">true</item>
-->
<item name="label" xsi:type="string" translate="true">Callback URL</item>
<item name="sortOrder" xsi:type="number">20</item>
</item>
</argument>
<field name="url">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="dataType" xsi:type="string">text</item>
<item name="label" xsi:type="string" translate="true">API Url</item>
<item name="formElement" xsi:type="string">input</item>
<!--
<item name="source" xsi:type="string">panemirates_apiurl</item>
<item name="dataScope" xsi:type="string">url</item>
<item name="default" xsi:type="string">${ console.log($.syncback) }</item>
-->
<item name="validation" xsi:type="array">
<item name="required-entry" xsi:type="boolean">true</item>
<item name="url-required" xsi:type="boolean">true</item>
<item name="validate-url" xsi:type="boolean">true</item>
</item>
</item>
</argument>
</field>
</fieldset>
</form>```
答案 0 :(得分:0)
我遇到了同样的问题,并在您提供的链接中找到了答案,更具体地说是在https://magento.stackexchange.com/a/123884/58072
只需将此代码添加到您的数据源中
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="update_url" xsi:type="url" path="mui/index/render"/>
<item name="storageConfig" xsi:type="array">
<item name="indexField" xsi:type="string">column_id</item>
</item>
</item>
</argument>
答案 1 :(得分:0)
我可能迟到了,但希望如此会对其他像我这样的人有所帮助。我也面临同样的问题,并努力解决,但没有得到任何帮助。因此,我遍历了核心模块并找到了解决方案:
在ui_component的数据源元素内添加以下代码行。
<settings>
<storageConfig>
<param name="cacheRequests" xsi:type="boolean">false</param>
</storageConfig>
<updateUrl path="mui/index/render"/>
</settings>
这解决了我的问题。