文档管理中心
您当前正在浏览HarmonyOS最新文档,覆盖已发布的所有API版本,可在API参考中筛选您使用的API版本。详细的版本配套关系请参考版本说明
API参考应用框架ArkUI(方舟UI框架)ArkTS组件文本与输入SelectionContainer

SelectionContainer

SelectionContainer组件用于为多个文本节点提供跨节点文本选中、复制及菜单扩展能力,支持统一配置选中文本的手柄颜色和底板颜色,支持灵活的文本拼接策略,支持自定义选择菜单和扩展菜单选项。适用于需要跨多个Text组件实现文本连续选中、统一复制、样式自定义及菜单扩展的场景,解决了多Text组件场景下文本选择体验割裂的问题,提升了用户在复杂文本布局中的交互体验。

说明
  • 本组件中选中文本相关回调返回的文本内容,按照Text组件的从上到下显示顺序进行拼接。
  • 本模块接口仅可在Stage模型下使用。
  • 本组件默认布局走Stack,如有其他容器布局需求请在SelectionContainer内放置一个容器组件。
  • SelectionContainer内跨节点选中文本时不显示放大镜,也不支持getMagnifier主动设置放大镜。
  • 仅Text组件中的文本内容参与跨节点选中与文本拼接。

起始版本: 26.0.0

子组件Beta

PhonePC/2in1TabletTVWearable

可以包含子组件。

接口Beta

PhonePC/2in1TabletTVWearable

SelectionContainer()

创建一个SelectionContainer组件。

起始版本: 26.0.0

元服务API: 从API版本26.0.0开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

属性Beta

PhonePC/2in1TabletTVWearable

支持通用属性

说明

copyOptionBeta

PhonePC/2in1TabletTVWearable

copyOption(value: Optional<CopyOptions>)

设置组件的复制粘贴配置项。未通过该接口设置时,默认为CopyOptions.InApp。

说明

Text子组件已显式设置copyOption时,优先使用Text子组件的配置;未设置时,使用SelectionContainer的配置。

起始版本: 26.0.0

元服务API: 从API版本26.0.0开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

展开
参数名 类型 必填 说明
value Optional<CopyOptions> 复制粘贴配置项,用于设置文本的可复制范围。具体说明请参考CopyOptions枚举。

caretColorBeta

PhonePC/2in1TabletTVWearable

caretColor(color: Optional<ResourceColor>)

设置选中文本手柄颜色。未通过该接口设置时,默认手柄颜色为'#007DFF'(蓝色)。

说明
  • 该属性在跨节点场景中用于各Text子组件选中文本手柄颜色。
  • 在跨节点场景中Text子组件caretColor设置无效,始终使用SelectionContainer的配置。

起始版本: 26.0.0

元服务API: 从API版本26.0.0开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

展开
参数名 类型 必填 说明
color Optional<ResourceColor> 手柄颜色。

selectedBackgroundColorBeta

PhonePC/2in1TabletTVWearable

selectedBackgroundColor(color: Optional<ResourceColor>)

设置选中文本底板颜色。未通过该接口设置时,默认选中文本底板颜色为'#007DFF'(蓝色),如果未设置不透明度,默认为20%不透明度。

说明
  • 该属性在跨节点场景中用于各Text子组件选中区域的高亮颜色。
  • Text子组件已显式设置selectedBackgroundColor时,优先使用Text子组件的配置;未设置时,使用SelectionContainer的配置。

起始版本: 26.0.0

元服务API: 从API版本26.0.0开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

展开
参数名 类型 必填 说明
color Optional<ResourceColor> 选中文本底板颜色。

enableHapticFeedbackBeta

PhonePC/2in1TabletTVWearable

enableHapticFeedback(isEnabled: Optional<boolean>)

设置是否开启触控反馈。未通过该接口设置时,默认开启。

开启触控反馈时,需要在工程的module.json5配置文件中配置requestPermissions字段开启振动权限,配置如下:

收起
自动换行
深色代码主题
复制
  1. "requestPermissions": [
  2. {
  3. "name": "ohos.permission.VIBRATE"
  4. }
  5. ]

起始版本: 26.0.0

元服务API: 从API版本26.0.0开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

展开
参数名 类型 必填 说明
isEnabled Optional<boolean>

是否开启触控反馈。

true表示开启触控反馈,false表示不开启触控反馈。

textJoinStyleBeta

PhonePC/2in1TabletTVWearable

textJoinStyle(style: Optional<SelectionContainerTextJoinStyle>)

设置SelectionContainer内聚合文本的拼接方式。未通过该接口设置时,默认为SelectionContainerTextJoinStyle.NEWLINE,表示不同文本节点之间使用换行符\n拼接。

说明
  • 该配置会影响onWillCopyonCopybindSelectionMenu相关回调中返回的文本内容。
  • 该配置也会影响系统内置菜单项中依赖文本拼接结果的逻辑。例如,选择两个Text节点中的文本时,若配置为SelectionContainerTextJoinStyle.NEWLINE,执行复制后两段文本之间会插入换行符;若配置为SelectionContainerTextJoinStyle.DIRECT,执行复制后两段文本会直接拼接。

起始版本: 26.0.0

元服务API: 从API版本26.0.0开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

展开
参数名 类型 必填 说明
style Optional<SelectionContainerTextJoinStyle> 聚合文本拼接方式。

bindSelectionMenuBeta

PhonePC/2in1TabletTVWearable

bindSelectionMenu(spanType: Optional<TextSpanType>, content: Optional<CustomBuilder>, responseType: Optional<TextResponseType>, options?: Optional<SelectionContainerMenuOptions>)

设置自定义选择菜单。未通过该接口设置时,默认spanType为TextSpanType.TEXT,responseType为TextResponseType.LONG_PRESS。

说明
  • bindSelectionMenu的长按响应时长为600ms,bindContextMenu的长按响应时长为800ms,当两者同时绑定且触发方式均为长按时,优先响应bindSelectionMenu。
  • 自定义菜单过长时,建议内部嵌套使用Scroll组件,避免键盘被遮挡。
  • 选区跨越不可复制Text时,菜单仅基于实际选中的可复制文本进行显示和处理。

起始版本: 26.0.0

元服务API: 从API版本26.0.0开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

展开
参数名 类型 必填 说明
spanType Optional<TextSpanType> 选择菜单类型。用于指定选择菜单作用的文本类型范围,不同类型对应不同的菜单行为。各枚举值的含义及适用场景详见TextSpanType
content Optional<CustomBuilder> 选择菜单内容。
responseType Optional<TextResponseType> 选择菜单响应类型。
options Optional<SelectionContainerMenuOptions> 选择菜单选项,用于配置菜单出现、消失、显示、隐藏等事件的回调。当需要监听这些菜单事件时传入此参数,不传入时默认不监听菜单事件。

editMenuOptionsBeta

PhonePC/2in1TabletTVWearable

editMenuOptions(editMenu: Optional<SelectionContainerEditMenuOptions>)

设置选中文本后的编辑菜单选项,包括菜单文本、图标和回调等。

说明

当同时为当前场景设置了bindSelectionMenu和editMenuOptions时,优先使用bindSelectionMenu,editMenuOptions不生效。bindSelectionMenu用于完全自定义菜单风格和触发条件,由开发者定义所有菜单项;editMenuOptions用于在系统默认菜单基础上添加扩展项,触发条件不变。建议根据自定义程度需求选择。

起始版本: 26.0.0

元服务API: 从API版本26.0.0开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

展开
参数名 类型 必填 说明
editMenu Optional<SelectionContainerEditMenuOptions> 自定义编辑菜单配置。

事件Beta

PhonePC/2in1TabletTVWearable

支持通用事件

说明

不支持拖拽事件

onTextSelectionChangeBeta

PhonePC/2in1TabletTVWearable

onTextSelectionChange(callback: Optional<Callback<Array<string>>>)

SelectionContainer中选中文本发生变化时触发该回调。使用callback异步回调。

说明
  • 回调参数数组中各项顺序与Text组件视觉顺序一致。
  • 数组中的每一项对应一个Text子组件的选中文本。
  • 仅包含有选中文本的Text子组件,不包含未选中Text子组件,也不包含不可复制Text的空字符串占位。

起始版本: 26.0.0

元服务API: 从API版本26.0.0开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

展开
参数名 类型 必填 说明
callback Optional<Callback<Array<string>>> 选中文本变化回调。

onWillCopyBeta

PhonePC/2in1TabletTVWearable

onWillCopy(callback: Optional<Callback<string, boolean>>)

在进行复制操作前,触发该回调。使用callback异步回调。

说明
  • 回调参数为按Text组件视觉顺序拼接后的选中文本,拼接方式由textJoinStyle配置决定。
  • 返回false时,会阻止本次跨节点复制及容器级onCopy回调触发,但不会影响各Text子组件已独立处理完成的复制事件逻辑。

起始版本: 26.0.0

元服务API: 从API版本26.0.0开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

展开
参数名 类型 必填 说明
callback Optional<Callback<string, boolean>> 复制前检查回调,返回true表示允许复制,返回false表示不允许复制。

onCopyBeta

PhonePC/2in1TabletTVWearable

onCopy(callback: Optional<Callback<string>>)

长按文本内部区域弹出选择菜单后,点击选择菜单的复制按钮,触发该回调。仅支持复制文本。使用callback异步回调。

说明
  • 回调参数为按Text组件视觉顺序拼接后的选中文本,拼接方式由textJoinStyle配置决定。
  • 仅当容器级onWillCopy返回true时,该回调才会触发。

起始版本: 26.0.0

元服务API: 从API版本26.0.0开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

展开
参数名 类型 必填 说明
callback Optional<Callback<string>> 复制回调。

SelectionContainerTextJoinStyleBeta

PhonePC/2in1TabletTVWearable

文本聚合拼接方式。

起始版本: 26.0.0

元服务API: 从API版本26.0.0开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

展开
名称 说明
NEWLINE 0 不同文本节点之间使用换行符\n拼接。
DIRECT 1 不同文本节点之间直接拼接,不添加分隔符。

SelectionContainerMenuOptionsBeta

PhonePC/2in1TabletTVWearable

配置选择菜单中的选项。

起始版本: 26.0.0

元服务API: 从API版本26.0.0开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

展开
名称 类型 只读 可选 说明
onAppear Callback<string> 选择菜单出现时触发。回调参数为按Text组件视觉顺序拼接后的选中文本,拼接方式由textJoinStyle配置决定。默认值为空,不触发该回调。
onDisappear Callback<void> 选择菜单消失时触发。默认值为空,不触发该回调。
onMenuShow Callback<string> 选择菜单显示时触发。回调参数为按Text组件视觉顺序拼接后的选中文本,拼接方式由textJoinStyle配置决定。默认值为空,不触发该回调。
onMenuHide Callback<string> 选择菜单隐藏时触发。回调参数为按Text组件视觉顺序拼接后的选中文本,拼接方式由textJoinStyle配置决定。默认值为空,不触发该回调。

OnMenuItemClickWithTextCallbackBeta

PhonePC/2in1TabletTVWearable

type OnMenuItemClickWithTextCallback = (menuItem: TextMenuItem, value: string) => boolean

点击菜单项时触发,可拦截系统默认菜单项(如复制、粘贴菜单项)的执行行为。

起始版本: 26.0.0

元服务API: 从API版本26.0.0开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

展开
参数名 类型 必填 说明
menuItem TextMenuItem 当前点击的菜单项。
value string 选中文本内容。

返回值:

展开
类型 说明
boolean 菜单项点击事件的处理结果。返回true表示事件已处理,返回false表示未处理。

SelectionContainerEditMenuOptionsBeta

PhonePC/2in1TabletTVWearable

SelectionContainer自定义编辑菜单选项。

起始版本: 26.0.0

元服务API: 从API版本26.0.0开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

展开
名称 类型 只读 可选 说明
onCreateMenu OnCreateMenuCallback 每次菜单显示前触发,传入默认菜单项并返回处理后的菜单项。默认值为空,不触发该回调。
onMenuItemClick OnMenuItemClickWithTextCallback 点击菜单项时触发,可拦截系统默认菜单执行行为。默认值为空,不触发该回调。
onPrepareMenu OnPrepareMenuCallback 文本选中内容变化后、菜单显示前触发,可在该回调中调整菜单数据。默认值为空,不触发该回调。

示例Beta

PhonePC/2in1TabletTVWearable

示例1(跨节点选中文本并复制)Beta

该示例通过SelectionContainercopyOptiontextJoinStyleonTextSelectionChangeonWillCopyonCopy接口展示跨多个Text组件选中文本、拼接选中文本并处理复制回调的能力。

从API版本26.0.0开始,新增SelectionContainer组件和copyOption等接口。

收起
自动换行
深色代码主题
复制
  1. import {
  2. SelectionContainer,
  3. SelectionContainerAttribute,
  4. SelectionContainerTextJoinStyle
  5. } from '@kit.ArkUI';
  6. @Entry
  7. @Component
  8. struct SelectionContainerExample1 {
  9. @State selectedParts: string[] = [];
  10. @State copiedText: string = '';
  11. build() {
  12. Column({ space: 12 }) {
  13. Text('请长按下方区域并跨节点选择文本')
  14. .fontSize(16)
  15. SelectionContainer() {
  16. Column({ space: 8 }) {
  17. Text('第一段文本:SelectionContainer支持跨多个Text组件进行选中。')
  18. .fontSize(18)
  19. .copyOption(CopyOptions.InApp)
  20. Text('第二段文本:选中结果会按照Text组件的视觉顺序进行拼接。')
  21. .fontSize(18)
  22. .copyOption(CopyOptions.InApp)
  23. Text('第三段文本:可以监听选中变化、复制前校验和复制完成事件。')
  24. .fontSize(18)
  25. .copyOption(CopyOptions.InApp)
  26. }
  27. }
  28. .copyOption(CopyOptions.InApp)
  29. .textJoinStyle(SelectionContainerTextJoinStyle.NEWLINE)
  30. .caretColor(Color.Red)
  31. .selectedBackgroundColor('#33007DFF')
  32. .onTextSelectionChange((value: Array<string>) => {
  33. this.selectedParts = value;
  34. console.info(`选中文本变化:${JSON.stringify(value)}`);
  35. })
  36. .onWillCopy((value: string) => {
  37. this.copiedText = `准备复制:${value}`;
  38. console.info(`准备复制文本:${value}`);
  39. return true;
  40. })
  41. .onCopy((value: string) => {
  42. this.copiedText = `复制成功:${value}`;
  43. console.info(`复制成功文本:${value}`);
  44. })
  45. .border({ width: 1, color: '#DCDCDC' })
  46. .padding(12)
  47. .width('100%')
  48. Text(`选中内容:${this.selectedParts.join(' | ')}`)
  49. .fontSize(14)
  50. .fontColor('#666666')
  51. Text(this.copiedText)
  52. .fontSize(14)
  53. .fontColor('#666666')
  54. }
  55. .width('100%')
  56. .padding(16)
  57. }
  58. }

示例2(绑定自定义选择菜单)Beta

该示例通过bindSelectionMenu接口实现了跨节点选中文本时绑定自定义菜单的功能。

从API版本26.0.0开始,新增bindSelectionMenu属性。

收起
自动换行
深色代码主题
复制
  1. import {
  2. SelectionContainer,
  3. SelectionContainerAttribute,
  4. SelectionContainerMenuOptions,
  5. SelectionContainerTextJoinStyle
  6. } from '@kit.ArkUI';
  7. @Entry
  8. @Component
  9. struct SelectionContainerExample2 {
  10. @State selectedText: string = '';
  11. @State menuLog: string = '';
  12. build() {
  13. Column({ space: 12 }) {
  14. Text('请长按下方区域选择文本,体验自定义菜单')
  15. .fontSize(16)
  16. SelectionContainer() {
  17. Column({ space: 8 }) {
  18. Text('第一段文本:SelectionContainer支持自定义选择菜单。')
  19. .fontSize(18)
  20. Text('第二段文本:通过bindSelectionMenu绑定完整自定义菜单。')
  21. .fontSize(18)
  22. }
  23. }
  24. .copyOption(CopyOptions.InApp)
  25. .textJoinStyle(SelectionContainerTextJoinStyle.DIRECT)
  26. .bindSelectionMenu(
  27. TextSpanType.TEXT,
  28. this.menuBuilder,
  29. TextResponseType.LONG_PRESS,
  30. {
  31. onAppear: (text: string) => {
  32. this.menuLog = `菜单出现:${text}`;
  33. console.info(`菜单出现:${text}`);
  34. },
  35. onDisappear: () => {
  36. this.menuLog = '菜单消失';
  37. console.info('菜单消失');
  38. },
  39. onMenuShow: (text: string) => {
  40. this.menuLog = `菜单显示:${text}`;
  41. console.info(`菜单显示:${text}`);
  42. },
  43. onMenuHide: (text: string) => {
  44. this.menuLog = `菜单隐藏:${text}`;
  45. console.info(`菜单隐藏:${text}`);
  46. }
  47. } as SelectionContainerMenuOptions
  48. )
  49. .onTextSelectionChange((value: Array<string>) => {
  50. this.selectedText = `选中:${value.join(' | ')}`;
  51. console.info(`选中变化:${JSON.stringify(value)}`);
  52. })
  53. .border({ width: 1, color: '#DCDCDC' })
  54. .padding(12)
  55. .width('100%')
  56. }
  57. .width('100%')
  58. .padding(16)
  59. }
  60. @Builder
  61. menuBuilder() {
  62. Column() {
  63. Menu() {
  64. MenuItemGroup() {
  65. MenuItem({ content: '自定义复制', labelInfo: '' })
  66. .onClick(() => {
  67. console.info('自定义复制被点击');
  68. })
  69. MenuItem({ content: '自定义分享', labelInfo: '' })
  70. .onClick(() => {
  71. console.info('自定义分享被点击');
  72. })
  73. MenuItem({ content: '自定义翻译', labelInfo: '' })
  74. .onClick(() => {
  75. console.info('自定义翻译被点击');
  76. })
  77. }
  78. }
  79. .radius($r('sys.float.ohos_id_corner_radius_card'))
  80. .clip(true)
  81. .backgroundColor('#F0F0F0')
  82. }
  83. }
  84. }

示例3(扩展菜单选项)Beta

该示例通过editMenuOptions接口实现了去除系统菜单中的翻译和搜索菜单项,并添加5个自定义菜单项的功能。同时在onMenuItemClick回调中展示拦截系统复制操作(return true)和不拦截全选操作(return false)的差异。

从API版本26.0.0开始,新增editMenuOptions属性。

收起
自动换行
深色代码主题
复制
  1. import {
  2. OnMenuItemClickWithTextCallback,
  3. SelectionContainer,
  4. SelectionContainerAttribute,
  5. SelectionContainerEditMenuOptions,
  6. SelectionContainerTextJoinStyle
  7. } from '@kit.ArkUI';
  8. @Entry
  9. @Component
  10. struct SelectionContainerExample3 {
  11. @State selectedText: string = '';
  12. @State menuClickLog: string = '';
  13. onCreateMenu = (menuItems: Array<TextMenuItem>) => {
  14. let targetIndex = menuItems.findIndex(item => item.id.equals(TextMenuItemId.TRANSLATE));
  15. if (targetIndex !== -1) {
  16. menuItems.splice(targetIndex, 1);
  17. }
  18. targetIndex = menuItems.findIndex(item => item.id.equals(TextMenuItemId.SEARCH));
  19. if (targetIndex !== -1) {
  20. menuItems.splice(targetIndex, 1);
  21. }
  22. let customItem1: TextMenuItem = {
  23. content: '标注',
  24. id: TextMenuItemId.of('highlight'),
  25. };
  26. let customItem2: TextMenuItem = {
  27. content: '收藏',
  28. id: TextMenuItemId.of('bookmark'),
  29. };
  30. let customItem3: TextMenuItem = {
  31. content: '批注',
  32. id: TextMenuItemId.of('comment'),
  33. };
  34. let customItem4: TextMenuItem = {
  35. content: '导出',
  36. id: TextMenuItemId.of('export'),
  37. };
  38. // $r('app.media.startIcon')需要替换为开发者所需的图像资源文件。
  39. let customItem5: TextMenuItem = {
  40. content: '推送',
  41. icon: $r('app.media.startIcon'),
  42. id: TextMenuItemId.of('push'),
  43. };
  44. menuItems.push(customItem1);
  45. menuItems.push(customItem2);
  46. menuItems.push(customItem3);
  47. menuItems.push(customItem4);
  48. menuItems.push(customItem5);
  49. return menuItems;
  50. }
  51. onMenuItemClick: OnMenuItemClickWithTextCallback = (menuItem: TextMenuItem, text: string) => {
  52. this.menuClickLog = `点击菜单项:${menuItem.content},文本:${text}`;
  53. console.info(`点击菜单项:${menuItem.content},文本:${text}`);
  54. if (menuItem.id.equals(TextMenuItemId.COPY)) {
  55. this.selectedText = `已复制:${text}`;
  56. console.info(`拦截系统复制操作,return true:${text}`);
  57. return true;
  58. }
  59. if (menuItem.id.equals(TextMenuItemId.SELECT_ALL)) {
  60. this.selectedText = `全选操作:${text}`;
  61. console.info(`不拦截全选操作,return false:执行系统默认行为`);
  62. return false;
  63. }
  64. if (menuItem.id.equals(TextMenuItemId.of('highlight'))) {
  65. this.selectedText = `已标注:${text}`;
  66. console.info(`点击自定义菜单项:标注,文本:${text}`);
  67. return true;
  68. }
  69. if (menuItem.id.equals(TextMenuItemId.of('bookmark'))) {
  70. this.selectedText = `已收藏:${text}`;
  71. console.info(`点击自定义菜单项:收藏,文本:${text}`);
  72. return true;
  73. }
  74. if (menuItem.id.equals(TextMenuItemId.of('comment'))) {
  75. this.selectedText = `已批注:${text}`;
  76. console.info(`点击自定义菜单项:批注,文本:${text}`);
  77. return true;
  78. }
  79. if (menuItem.id.equals(TextMenuItemId.of('export'))) {
  80. this.selectedText = `已导出:${text}`;
  81. console.info(`点击自定义菜单项:导出,文本:${text}`);
  82. return true;
  83. }
  84. if (menuItem.id.equals(TextMenuItemId.of('push'))) {
  85. this.selectedText = `已推送:${text}`;
  86. console.info(`点击自定义菜单项:推送,文本:${text}`);
  87. return true;
  88. }
  89. return false;
  90. }
  91. @State editMenuOptions: SelectionContainerEditMenuOptions = {
  92. onCreateMenu: this.onCreateMenu,
  93. onMenuItemClick: this.onMenuItemClick
  94. };
  95. build() {
  96. Column({ space: 12 }) {
  97. Text('请长按下方区域选择文本,体验扩展菜单')
  98. .fontSize(16)
  99. SelectionContainer() {
  100. Column({ space: 8 }) {
  101. Text('第一段文本:SelectionContainer支持扩展菜单选项。')
  102. .fontSize(18)
  103. Text('第二段文本:可以去除系统菜单项并添加自定义菜单项。')
  104. .fontSize(18)
  105. }
  106. }
  107. .copyOption(CopyOptions.InApp)
  108. .textJoinStyle(SelectionContainerTextJoinStyle.DIRECT)
  109. .editMenuOptions(this.editMenuOptions)
  110. .onTextSelectionChange((value: Array<string>) => {
  111. this.selectedText = `选中:${value.join(' | ')}`;
  112. console.info(`选中变化:${JSON.stringify(value)}`);
  113. })
  114. .border({ width: 1, color: '#DCDCDC' })
  115. .padding(12)
  116. .width('100%')
  117. Text(this.selectedText)
  118. .fontSize(14)
  119. .fontColor('#666666')
  120. Text(this.menuClickLog)
  121. .fontSize(14)
  122. .fontColor('#999999')
  123. }
  124. .width('100%')
  125. .padding(16)
  126. }
  127. }

在 API参考 中进行搜索
请输入您想要搜索的关键词