mirror of
https://github.com/openharmony/developtools_ace-ets2bundle.git
synced 2026-07-21 20:15:24 -04:00
6e6d50c142
Signed-off-by: houhaoyu <houhaoyu@huawei.com> Change-Id: Ie6bc8a1f0c89097de10ec2befecde0e319ea336d
94 lines
2.5 KiB
Plaintext
94 lines
2.5 KiB
Plaintext
/*
|
|
* Copyright (c) 2021 Huawei Device Co., Ltd.
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
class Item{
|
|
id:number = 0;
|
|
label:string = '';
|
|
|
|
constructor(id:number, label:string){
|
|
this.id = id;
|
|
this.label = label;
|
|
}
|
|
}
|
|
|
|
@Component
|
|
struct CustomRow {
|
|
item:Item;
|
|
|
|
build(){
|
|
Row(){
|
|
Text("label: ")
|
|
Text(this.item.label)
|
|
Text(", cap: ")
|
|
Text(this.item.label.toUpperCase())
|
|
Text(", rev: ")
|
|
Text(this.item.label.split("").reverse().join(""))
|
|
}
|
|
}
|
|
}
|
|
|
|
@Component
|
|
struct CustomText {
|
|
item:Item;
|
|
|
|
build() {
|
|
Column() {
|
|
Text(this.item.label)
|
|
}
|
|
}
|
|
}
|
|
|
|
@Entry
|
|
@Component
|
|
struct ShufflingArrayContainer {
|
|
@State anArray:Item[] = [
|
|
new Item(1, "Text 1"),
|
|
new Item(2, "Text 2"),
|
|
new Item(3, "Text 3"),
|
|
new Item(4, "Text 4"),
|
|
new Item(5, "Text 5")
|
|
];
|
|
|
|
build() {
|
|
Column(){
|
|
ForEach(this.anArray,
|
|
(item:Item) => {CustomRow({ item:item })},
|
|
(item:Item) => item.id.toString()
|
|
) //ForEach
|
|
Button("Reverse anArray")
|
|
.width(500.0)
|
|
.height(150.0)
|
|
.onClick(() => {
|
|
// replace entire array
|
|
this.anArray = (this.anArray[0].id == 1) ?
|
|
[
|
|
new Item(10, "Text A"),
|
|
new Item(20, "Text B"),
|
|
new Item(30, "Text C"),
|
|
new Item(40, "Text D"),
|
|
new Item(50, "Text E")
|
|
] : [
|
|
new Item(1, "Text 1"),
|
|
new Item(2, "Text 2"),
|
|
new Item(3, "Text 3"),
|
|
new Item(4, "Text 4"),
|
|
new Item(5, "Text 5")
|
|
];
|
|
console.log("click handler on ShufflingArrayContainer, this.anArray: " + JSON.stringify(this.anArray));
|
|
}) // click
|
|
} //Column
|
|
} //build
|
|
} //struct
|