私の問題は、次のようなデフォルトのレイアウトがあることです。
[
{
Type: C,
Name: Category,
Children: [
{
Type: C,
Name: Category,
Children: [
{
Type: F,
ID: Field1
},
{
Type: F,
ID: Field2
}
]
}
]
},
{
Type: C,
Name: Category,
Children: [
{
Type: F,
ID: Field3
}
]
}
]
そして、私はこのようなレイアウトを持っています:
[
{
Type: C,
Name: Category,
Children: [
{
Type: C,
Name: Category,
Children: [
{
Type: F,
ID: Field2
}
]
}
]
},
{
Type: C,
Name: Category,
Children: [
{
Type: F,
ID: Field3
}
]
}
]
}
]
私の削除されたレイアウトは次のとおりです。
[
{
Type: C,
Name: Category,
Children: [
{
Type: C,
Name: Category,
Children: [
{
Type: F,
ID: Field1
}
]
}
]
}
]
これで、削除されたフィールドの横にプラス ボタンが表示され、レイアウトの正しい位置に追加され、反対側にマイナス ボタンが追加されました。私にとって最も簡単な方法は、最初に一意の ID を作成することですが、それは許可されていません。
フィールドはカテゴリで切り替えることができるので、毎回カテゴリの最後に追加する必要があります。
弱いマップについて考えましたが、オブジェクト参照を使用してこれを行うにはどうすればよいですか? レイアウト オブジェクトと削除されたオブジェクトをデフォルトのレイアウト オブジェクトに参照するにはどうすればよいですか?