我的本意是希望使用inspector来自定义一个组件中的自定义结构数组的编辑:代码如下:
const {ccclass, property, inspector } = cc._decorator;
export enum RP_TYPE {
DEFAULT = 0,
TYPE1,
TYPE2,
TYPE3,
}
export interface STRUCT {
type:RP_TYPE
count:number
}
@ccclass
@(CC_EDITOR && inspector("packages://ui/inspector/test.js"))
export default class Test extends cc.Component {
private _data:Array<STRUCT> = []
@property
public get data() : Array<STRUCT> {
return this._data
}
public set data( value:Array<STRUCT> ) {
this._data = value
}
// 以下为测试代码
private _nums:Array<number> = []
@property
public get nums() {
return this._nums
}
}
_data是一个STRUCT类型的数组,我希望在UI上编辑这个结构的数据,类似于Button中的clickEvents事件:先修改数组大小,再编辑每个单元中的各元素。_nums成员是为了对照才加上的。
以下为test.html的代码:
<ui-prop name="Nums" indent="indent">
<ui-num-input type="int" min="0" value="target.nums.value.length" @confirm=""></ui-num-input>
</ui-prop>
<ui-prop name="Resources" indent="indent">
<ui-num-input type="int" min="0" value="target.data.value.length" @confirm=""></ui-num-input>
</ui-prop>
最后在编辑器中的显示效果是,两个输入框中都显示为 NaN。
问题出在哪里,还请高手帮忙!