版本&平台:Cocos Creator 3.6.2 + macOS
重现方式:
import { _decorator, Component, Node, Enum, RichText } from 'cc';
const { ccclass, property } = _decorator;
enum CodeLineType {
MoveForward,
MoveBackward,
TurnLeft,
TurnRight,
Collect,
Attack,
ToggleSwitch,
}
Enum(CodeLineType);
@ccclass('CodeLineItem')
class CodeLineItem {
@property({
type: CodeLineType,
displayName: '类型',
})
type: CodeLineType = CodeLineType.MoveForward;
@property({
type: RichText,
displayName: '对应 Label',
})
node: RichText;
}
@ccclass('CodeLine')
export class CodeLineComponent extends Component {
@property(Node) toolbox!: Node;
@property([CodeLineItem]) codeLineItems: CodeLineItem[] = [];
@property([RichText]) test: RichText[] = [];
}
作为结果,codeLineItems 中的 node 无法被正常赋值(test 是对照实验,可以正常工作),无论是拖进来还是直接选,会短暂闪一下,然后又变成了空。第一次搞这个,请问我是哪里写的有问题吗?下面有个演示视频(因为闪的太快了,所以我放慢了一倍):

