什么是 UI 书签组件?
在 Magento2 中,UI 书签组件是列表或者表格的二级组件之一。它负责储存所有激活和修改过的数据网格状态,比如状态的筛选,列的位置,应用的排列顺序和分页等等。
字段名 | 类型 | 描述 |
---|---|---|
bookmark_id | int(10) | 书签 ID |
user_id | int(10) | 用户 ID |
namespace | varchar(255) | 书签命名空间 |
(UX1) indertifier | varchar(255 | 书签 ID |
current | smallint(6) | 每个用户、命名空间和 ID 的当前书签的标记 |
title | varchar(255) | 书签标题 |
config | longtext | 书签配置(JS 书签组件的 JSON 配置) |
created_at | datatime | 书签创建时间 |
updated_at | datatime | 书签更新时间 |
书签组件的结构
书签组件的结构如下:
- 书签的集合位于 app\code\Magento\Ui\view\base\web\js\grid\controls\bookmarks\bookmarks.js
模板文件位于app\code\Magento\Ui\view\base\web\templates\grid\controls\bookmarks\bookmarks.html
- 单独视图的子元素位于app\code\Magento\Ui\view\base\web\js\grid\controls\bookmarks\view.js
模板文件位于app\code\Magento\Ui\view\base\web\templates\grid\controls\bookmarks\view.html
书签组件使用 app\code\Magento\Ui\view\base\web\js\grid\controls\bookmarks\storage.js 的自定义属性存储来保存书签的状态,然后可以在任何设备或者浏览器获取书签。
如何获取 UI 书签组件
UI 书签组件的配置如下:
-
模板配置
-
组件配置
templates: {
view: {
component: 'Magento_Ui/js/grid/controls/bookmarks/view'
template: 'path/to/template'
},
newView: {
label: 'New View',
index: '${ Date.now() }'
}
}
- storageConfig 配置
storageConfig: {
saveUrl: 'path/to/save',
deleteUrl: 'path/to/delete',
namespace: 'namespace'
}