Magento2 magento 2动态行ui组件不显示数据
我正在尝试创建管理员表单vsMagento2 magento 2动态行ui组件不显示数据,magento2,uicomponents,magento2.1,magento2.2,Magento2,Uicomponents,Magento2.1,Magento2.2,我正在尝试创建管理员表单vsui\u组件(xml)中的动态文件 例如:我试图实现的动态行 我添加了动态行组件,如上图所示。 设置数据并保存数据后,数据以JSON格式成功保存在db中,但动态行保存后不返回数据 动态行组件: <dynamicRows name="Params" sortOrder="1" > <settings> <addButtonLabel translate="true">Add Value</addButt
ui\u组件(xml)中的动态文件
例如:我试图实现的动态行
我添加了动态行组件,如上图所示。
设置数据并保存数据后,数据以JSON格式成功保存在db中,但动态行保存后不返回数据
动态行组件:
<dynamicRows name="Params" sortOrder="1" >
<settings>
<addButtonLabel translate="true">Add Value</addButtonLabel>
<additionalClasses>
<class name="admin__field-wide">false</class>
</additionalClasses>
<componentType>dynamicRows</componentType>
<dndConfig>
<param name="enabled" xsi:type="boolean">false</param>
</dndConfig>
</settings>
<container name="record" component="Magento_Ui/js/dynamic-rows/record">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="isTemplate" xsi:type="boolean">true</item>
<item name="is_collection" xsi:type="boolean">true</item>
<item name="component" xsi:type="string">Magento_Ui/js/dynamic-rows/record</item>
<item name="componentType" xsi:type="string">container</item>
<item name="dataScope" xsi:type="string">data.row</item>
</item>
</argument>
<field name="name" formElement="input">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="dataScope" xsi:type="string">name</item>
<item name="fit" xsi:type="boolean">false</item>
<item name="label" xsi:type="string" translate="true">NAME</item>
<item name="dataType" xsi:type="string">text</item>
</item>
</argument>
</field>
<field name="value" formElement="input">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="prefixName" xsi:type="string">value</item>
<item name="prefixElementName" xsi:type="string">option_</item>
<item name="dataScope" xsi:type="string">value</item>
<item name="fit" xsi:type="boolean">false</item>
<item name="label" xsi:type="string" translate="true">VALUE</item>
<item name="dataType" xsi:type="string">text</item>
</item>
</argument>
</field>
<actionDelete name="action_delete">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="fit" xsi:type="boolean">true</item>
<item name="prefixElementName" xsi:type="string">option_</item>
<item name="prefixName" xsi:type="string">Params.delete</item>
<item name="dataType" xsi:type="string">text</item>
</item>
</argument>
<settings>
<dataType>text</dataType>
<componentType>actionDelete</componentType>
</settings>
</actionDelete>
</container>
</dynamicRows>
增值
假的
乌鸦
假的
真的
真的
Magento_Ui/js/动态行/记录
容器
data.row
名称
假的
名称
文本
价值
选择权_
价值
假的
价值
文本
真的
选择权_
参数删除
文本
文本
删除操作
谢谢大家的帮助 为此,您需要在数据提供者中重新注入相同的信息(此处为数组),该数据提供者与my_form.xml中预定义的模型相链接
对我来说,我的容器名是matritix\u advanceform链接到模块cms\u页面(您可以在view/adminhtml/ui\u component/cms\u page\u form.xml中看到),因此:
我面临同样的问题,请分享代码。
<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">cms_page_form.page_form_data_source</item> here
</item>
</argument>
<settings>
<namespace>cms_page_form</namespace>
<dataScope>data</dataScope>
<deps>
<dep>cms_page_form.page_form_data_source</dep>
</deps>
</settings>
<dataSource name="page_form_data_source">
<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>
<settings>
<submitUrl path="cms/page/save"/>
</settings>
<dataProvider class="Magento\Cms\Model\Page\DataProvider" name="page_form_data_source"> here
<settings>
<requestFieldName>page_id</requestFieldName>
<primaryFieldName>page_id</primaryFieldName>
</settings>
</dataProvider>
</dataSource>
<container name="matritix_advanceform">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="component" xsi:type="string">Magento_Ui/js/dynamic-rows/dynamic-rows</item>
...
class DataProvider extends \Magento\Cms\Model\Page\DataProvider
{
public function getData()
{
...
$matritix_advanceform = array (
0 => array("myinput_text" => "test", "record_id" => "0"));
$this->loadedData[$page->getId()]['matritix_advanceform'] = $matritix_advanceform;
...
return $this->loadedData;
}
}