• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# GridObjectSortComponent
2
3
4网格对象的编辑排序是用于网格对象的编辑、拖动排序、新增和删除。
5
6
7>  **说明:**
8>
9>  该组件从API version 11开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
10>
11>  该组件不支持在Wearable设备上使用。
12
13
14## 导入模块
15
16```ts
17import { GridObjectSortComponent, GridObjectSortComponentItem, GridObjectSortComponentOptions, GridObjectSortComponentType , SymbolGlyphModifier } from '@kit.ArkUI';
18```
19
20##  子组件
21
2223
24## 属性
25
26不支持[通用属性](ts-component-general-attributes.md)。
27
28## GridObjectSortComponent
29
30网格对象排序组件。
31
32GridObjectSortComponent({options: GridObjectSortComponentOptions, dataList: Array\<GridObjectSortComponentItem>, onSave: (select: Array\<GridObjectSortComponentItem>, unselect: Array\<GridObjectSortComponentItem>) => void, onCancel: () => void })
33
34**装饰器类型:**\@Component
35
36**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
37
38**系统能力:** SystemCapability.ArkUI.ArkUI.Full
39
40
41| 名称     | 类型                             | 必填 | 装饰器类型 | 说明         |
42| -------- | -------------------------------- | ---------- | ---- | ---- |
43| options  | [GridObjectSortComponentOptions](#gridobjectsortcomponentoptions) | 是     | @Prop      | 组件配置信息。 |
44| dataList | Array<[GridObjectSortComponentItem](#gridobjectsortcomponentitem)> | 是    | -     | 传入的数据,最大长度为50,数据长度超过50,只会取前50的数据。 |
45| onSave | (select: Array<[GridObjectSortComponentItem](#gridobjectsortcomponentitem)>, unselect: Array<[GridObjectSortComponentItem](#gridobjectsortcomponentitem)>)  => void | 是 | - | 保存编辑排序的回调函数,返回编辑后的数据。 |
46| onCancel | () => void | 是 | - | 取消保存数据的回调。 |
47
48##  GridObjectSortComponentOptions
49
50网格对象排序组件的组件配置信息。
51
52**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
53
54**系统能力:** SystemCapability.ArkUI.ArkUI.Full
55
56| 名称           | 类型                      | 必填 | 说明                                                          |
57| -------------- | ------------------------- | ---- |-------------------------------------------------------------|
58| type           | [GridObjectSortComponentType](#gridobjectsortcomponenttype) | 否   | 组件展示形态:文字\|图片+文字。<br />默认:GridObjectSortComponentType.text |
59| imageSize      | number \| [Resource](ts-types.md#resource) | 否   | 图片的尺寸,单位vp。<br />取值范围:大于等于0。<br />默认值:56vp                 |
60| normalTitle | [ResourceStr](ts-types.md#resourcestr)     | 否   | 未编辑状态下显示的标题。<br />默认值:频道。                                   |
61| showAreaTitle | [ResourceStr](ts-types.md#resourcestr)     | 否   | 展示区域标题,第一个子标题。<br />默认值:长按拖动排序。                              |
62| addAreaTitle | [ResourceStr](ts-types.md#resourcestr)     | 否   | 添加区域标题,第二个子标题。<br />默认值:点击添加。                                |
63| editTitle      | [ResourceStr](ts-types.md#resourcestr)     | 否   | 编辑状态下头部标题显示。<br />默认值:编辑。                                    |
64
65## GridObjectSortComponentType
66
67配置网格对象排序组件节点的类型,配置名称 IMAGE_TEXT 为图片文字类型,TEXT 为文字类型。
68
69**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
70
71**系统能力:** SystemCapability.ArkUI.ArkUI.Full
72
73| 名称     | 值    | 说明           |
74| -------- | ----- | -------------- |
75| IMAGE_TEXT | 'image_text' | 图片文字类型。 |
76| TEXT     | 'text'       | 文字类型。     |
77
78## GridObjectSortComponentItem
79
80网格对象排序组件的组件数据配置信息。
81
82**系统能力:** SystemCapability.ArkUI.ArkUI.Full
83
84| 名称     | 类型                                   | 必填 | 说明                                                         |
85| -------- | -------------------------------------- | ---- | ------------------------------------------------------------ |
86| id       | number&nbsp;\|&nbsp;string             | 是   | 数据id序号,不可重复。<br />默认值:空字符串。<br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。                                       |
87| text     | [ResourceStr](ts-types.md#resourcestr) | 是   | 显示文本信息。<br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。                                               |
88| selected | boolean                                | 是   | 是否已经被添加,添加:true,未添加:false。<br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。                  |
89| url      | [ResourceStr](ts-types.md#resourcestr) | 否   | GridObjectSortComponentType类型为IMAGE_TEXT时,需要传入图片地址。<br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 |
90| symbolStyle<sup>18+</sup> | [SymbolGlyphModifier](ts-universal-attributes-attribute-modifier.md) | 否   | GridObjectSortComponentType类型为IMAGE_TEXT时,需要传入Symbol图标资源。配置优先级高于url。<br/>**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。|
91| order    | number                                 | 是   | 顺序序号。<br />取值范围:大于等于0。<br />默认值:0 <br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。                                                   |
92
93##  事件
94
95不支持[通用事件](ts-component-general-events.md)。
96
97## 示例
98网格对象的编辑排序组件基础用法,涉及对组件配置信息初始化,数据初始化,保存、取消方法的使用。
99
100```ts
101import { GridObjectSortComponent, GridObjectSortComponentItem, GridObjectSortComponentOptions, GridObjectSortComponentType, SymbolGlyphModifier } from '@kit.ArkUI';
102
103@Entry
104@Component
105struct Index {
106  // 组件数据初始化。
107  @State dataList: GridObjectSortComponentItem[] = [
108    {
109      id: 0,
110      url: $r('sys.media.ohos_save_button_filled'),
111      text: '下载',
112      selected: true,
113      order: 3
114    },
115    {
116      id: 1,
117      url: $r('sys.media.ohos_ic_public_web'),
118      text: '网路',
119      selected: true,
120      order: 9
121    },
122    {
123      id: 2,
124      url: $r('sys.media.ohos_ic_public_video'),
125      text: '视频',
126      selected: false,
127      order: 1
128    },
129    {
130      id: 3,
131      symbolStyle: new SymbolGlyphModifier($r('sys.symbol.record_circle')),
132      text: '录制',
133      selected: false,
134      order: 4
135    }
136  ]
137
138  // 组件配置信息初始化。
139  @State option: GridObjectSortComponentOptions = {
140    type: GridObjectSortComponentType.IMAGE_TEXT,
141    imageSize: 45,
142    normalTitle: '菜单',
143    editTitle: '编辑',
144    showAreaTitle: '长按拖动排序',
145    addAreaTitle: '点击添加'
146  }
147
148  build() {
149    Column() {
150      GridObjectSortComponent({
151        options: this.option,
152        dataList: this.dataList,
153        // 保存编辑排序的回调函数,返回编辑后的数据。
154        onSave: (
155          select: Array<GridObjectSortComponentItem>,
156          unselect: Array<GridObjectSortComponentItem>
157        ) => {
158          // save ToDo
159        },
160        // 取消保存数据的回调。
161        onCancel: () =>{
162          // cancel ToDo
163        }
164      })
165    }
166  }
167}
168```
169
170![GridObjectSortComponent](figures/GridObjectSortComponent.gif)