- 联合类型
let a:string | number= 12
- 键值对类型
let map:Record<string,number>={
'abc':1
}
- 枚举
enum 枚举名 {
枚举字段1:值1,
枚举字段2:值2,
枚举字段3:值3,
}
enum Gender {
male = "美女",
female = "帅哥",
}
let gender = Gender.male
- 自定义类型
export default class ItemData{
img:Resource;
label:string;
describe?:string;
constructor(img:Resource,label:string,describe?:string) {
this.img = img
this.label = label
this.describe = describe
}
}
import ItemData from './ItemData'
getFirstGridData():Array<ItemData>{
let firstGridData: ItemData[] = [
new ItemData( $r('app.media.home_menu_01'),'我的最爱'),
new ItemData( $r('app.media.home_menu_02'),'历史记录'),
new ItemData( $r('app.media.home_menu_03'),'消息'),
new ItemData( $r('app.media.home_menu_04'),'购物车'),
new ItemData( $r('app.media.home_menu_05'),'我的目标'),
new ItemData( $r('app.media.home_menu_06'),'圈子'),
new ItemData( $r('app.media.home_menu_07'),'收藏'),
new ItemData( $r('app.media.home_menu_08'),'回收站'),
]
return firstGridData
}
- 泛型
class PramsType<T>{
value:T
constructor(value:T) {
this.value = value
}
}
class TaskModel {
id:string = ""
taskName:string = ""
taskTime:string = ""
taskMsg:string = ""
taskBeginDate:string = ""
taskEndDate:string = ""
taskType:number = 1
taskTitle:number = 1
taskStatus:string=""
constructor(id:string,taskName:string,taskTime:string,taskMsg:string,taskBeginDate:string,taskEndDate:string, taskType:number,taskTitle:number) {
this.id = id
this.taskName = taskName
this.taskTime = taskTime
this.taskBeginDate = taskBeginDate
this.taskEndDate = taskEndDate
this.taskType = taskType
this.taskTitle = taskTitle
this.taskMsg = taskMsg
this.undateTaskStatus()
}
undateTaskStatus() {
const currentDate = formatDate(new Date().getTime(),"yyyy-mm-dd")
if(this.taskTime>currentDate){
this.taskStatus = TaskStatusType.FUTRUE
}else if (this.taskTime===currentDate){
this.taskStatus = TaskStatusType.DOING
}else if (this.taskTime<=currentDate){
this.taskStatus = TaskStatusType.UNDONE
}
}
}
@Entry
@Component
struct Page05_AddTask {
aboutToAppear(): void {
const params = router.getParams()
const taskDetail = (params as PramsType<TaskModel>).value
console.log(JSON.stringify(params))
}
build() {
Column(){
Text("任务详情")
.fontSize(26)
.fontWeight(FontWeight.Bold)
.fontColor($r("app.color.text_color"))
.margin({bottom:20})
}
.width("100%")
.height("100%")
.padding(10)
.backgroundColor($r("app.color.page_bg_color"))
}
}