1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/openharmony-arkui_ace_engine

 / Детали:

включить_c2_совместимость: Исправление ошибки для обработчиков массивов

Предстоит сделать
Владелец
Создано  
09.03.2025

Описание задачи
enableV2Compatibility: Устранение ошибки в обработчиках массивов

Решение
В случае использования следующего сценария возникли проблемы с Array.set:

import { UIUtils } from '@kit.ArkUI';
import { symbol } from './util';

@Entry
@Component
struct Index {
  @State arr: Array<number> = [0, 1, 2];

  build() {
    Column() {
      CompV2({ arr: UIUtils.enableV2Compatibility(this.arr) });
    };
  };
};

@ComponentV2
struct CompV2 {
  @Require @Param arr: Array<number>;

  build() {
    Column({ space: 10 }) {
      Row() {
        Text(`[0] ${this.arr[0]} `);
        Text(`[1] ${this.arr[1]} `);
        Text(`[2] ${this.arr[2]} `);
        Text(`[3] ${this.arr[3]} `);
      }.border({ style: BorderStyle.Dotted });

      Button('arr[1] = 8')
        .onClick(() => {
          console.error('onclick arr[1] = 8');
          this.arr[1] = 8; // FireChange('8');
        });

      Button('arr[3] = 8')
        .onClick(() => {
          console.error('onclick arr[3] = 8');
          this.arr[3] = 8; // FireChange('OB_LENGTH');
        });

      Button('arr[0] = 0')
        .onClick(() => {
          console.error('onclick arr[0] = 0');
          this.arr[0] = 0; // no FireChange;
        });

      Button('arr[symbol] = ...')
        .onClick(() => {
          console.error('onclick arr[symbol] = ...');
          const s = symbol;
          this.arr[s] = 4; // no FireChange;
        });
    };
  };
};

Источник задачи

Комментарий (0)

GitLife Service Account Задача создана
GitLife Service Account добавлено
 
waiting_for_assign
label.
Развернуть журнал операций

Вход Перед тем как оставить комментарий

Статус
Ответственный
Контрольная точка
Pull Requests
Связанные запросы на слияние могут быть закрыты после их объединения
Ветки
Дата начала   -   Крайний срок
-
Закрепить/Открепить
Приоритет
Участники(1)
1
https://api.gitlife.ru/oschina-mirror/openharmony-arkui_ace_engine.git
git@api.gitlife.ru:oschina-mirror/openharmony-arkui_ace_engine.git
oschina-mirror
openharmony-arkui_ace_engine
openharmony-arkui_ace_engine