提交 ad727cfa 编写于 作者: M mahiru

fix ArkTS warning using code linter

Signed-off-by: Nmahiru <majunjie26@huawei.com>
上级 56f0c12b
...@@ -55,21 +55,34 @@ pushUrl(options: RouterOptions): Promise&lt;void&gt; ...@@ -55,21 +55,34 @@ pushUrl(options: RouterOptions): Promise&lt;void&gt;
**示例:** **示例:**
```ts ```ts
router.pushUrl({ import { BusinessError } from '@ohos.base';
url: 'pages/routerpage2',
params: { class innerParams {
data1: 'message', data3:number[]
data2: {
data3: [123, 456, 789] constructor(tuple:number[]) {
} this.data3 = tuple
} }
}) }
.then(() => {
// success class routerParams {
}) data1:string
.catch(err => { data2:innerParams
console.error(`pushUrl failed, code is ${err.code}, message is ${err.message}`);
constructor(str:string, tuple:number[]) {
this.data1 = str
this.data2 = new innerParams(tuple)
}
}
try {
router.pushUrl({
url: 'pages/routerpage2',
params: new routerParams('message' ,[123,456,789])
}) })
} catch (err) {
console.error(`pushUrl failed, code is ${(err as BusinessError).code}, message is ${(err as BusinessError).message}`);
}
``` ```
## router.pushUrl<sup>9+</sup> ## router.pushUrl<sup>9+</sup>
...@@ -100,14 +113,27 @@ pushUrl(options: RouterOptions, callback: AsyncCallback&lt;void&gt;): void ...@@ -100,14 +113,27 @@ pushUrl(options: RouterOptions, callback: AsyncCallback&lt;void&gt;): void
**示例:** **示例:**
```ts ```ts
class innerParams {
data3:number[]
constructor(tuple:number[]) {
this.data3 = tuple
}
}
class routerParams {
data1:string
data2:innerParams
constructor(str:string, tuple:number[]) {
this.data1 = str
this.data2 = new innerParams(tuple)
}
}
router.pushUrl({ router.pushUrl({
url: 'pages/routerpage2', url: 'pages/routerpage2',
params: { params: new routerParams('message' ,[123,456,789])
data1: 'message',
data2: {
data3: [123, 456, 789]
}
}
}, (err) => { }, (err) => {
if (err) { if (err) {
console.error(`pushUrl failed, code is ${err.code}, message is ${err.message}`); console.error(`pushUrl failed, code is ${err.code}, message is ${err.message}`);
...@@ -150,21 +176,34 @@ pushUrl(options: RouterOptions, mode: RouterMode): Promise&lt;void&gt; ...@@ -150,21 +176,34 @@ pushUrl(options: RouterOptions, mode: RouterMode): Promise&lt;void&gt;
**示例:** **示例:**
```ts ```ts
router.pushUrl({ import { BusinessError } from '@ohos.base';
url: 'pages/routerpage2',
params: { class innerParams {
data1: 'message', data3:number[]
data2: {
data3: [123, 456, 789] constructor(tuple:number[]) {
} this.data3 = tuple
} }
}, router.RouterMode.Standard) }
.then(() => {
// success class routerParams {
}) data1:string
.catch(err => { data2:innerParams
console.error(`pushUrl failed, code is ${err.code}, message is ${err.message}`);
}) constructor(str:string, tuple:number[]) {
this.data1 = str
this.data2 = new innerParams(tuple)
}
}
try {
router.pushUrl({
url: 'pages/routerpage2',
params: new routerParams('message' ,[123,456,789])
}, router.RouterMode.Standard)
} catch (err) {
console.error(`pushUrl failed, code is ${(err as BusinessError).code}, message is ${(err as BusinessError).message}`);
}
``` ```
## router.pushUrl<sup>9+</sup> ## router.pushUrl<sup>9+</sup>
...@@ -196,14 +235,27 @@ pushUrl(options: RouterOptions, mode: RouterMode, callback: AsyncCallback&lt;voi ...@@ -196,14 +235,27 @@ pushUrl(options: RouterOptions, mode: RouterMode, callback: AsyncCallback&lt;voi
**示例:** **示例:**
```ts ```ts
class innerParams {
data3:number[]
constructor(tuple:number[]) {
this.data3 = tuple
}
}
class routerParams {
data1:string
data2:innerParams
constructor(str:string, tuple:number[]) {
this.data1 = str
this.data2 = new innerParams(tuple)
}
}
router.pushUrl({ router.pushUrl({
url: 'pages/routerpage2', url: 'pages/routerpage2',
params: { params: new routerParams('message' ,[123,456,789])
data1: 'message',
data2: {
data3: [123, 456, 789]
}
}
}, router.RouterMode.Standard, (err) => { }, router.RouterMode.Standard, (err) => {
if (err) { if (err) {
console.error(`pushUrl failed, code is ${err.code}, message is ${err.message}`); console.error(`pushUrl failed, code is ${err.code}, message is ${err.message}`);
...@@ -245,18 +297,24 @@ replaceUrl(options: RouterOptions): Promise&lt;void&gt; ...@@ -245,18 +297,24 @@ replaceUrl(options: RouterOptions): Promise&lt;void&gt;
**示例:** **示例:**
```ts ```ts
router.replaceUrl({ import { BusinessError } from '@ohos.base';
url: 'pages/detail',
params: { class routerParams {
data1: 'message' data1:string
constructor(str:string) {
this.data1 = str
} }
}) }
.then(() => {
// success try {
}) router.replaceUrl({
.catch(err => { url: 'pages/detail',
console.error(`replaceUrl failed, code is ${err.code}, message is ${err.message}`); params: new routerParams('message')
}) })
} catch (err) {
console.error(`replaceUrl failed, code is ${(err as BusinessError).code}, message is ${(err as BusinessError).message}`);
}
``` ```
## router.replaceUrl<sup>9+</sup> ## router.replaceUrl<sup>9+</sup>
...@@ -286,11 +344,17 @@ replaceUrl(options: RouterOptions, callback: AsyncCallback&lt;void&gt;): void ...@@ -286,11 +344,17 @@ replaceUrl(options: RouterOptions, callback: AsyncCallback&lt;void&gt;): void
**示例:** **示例:**
```ts ```ts
class routerParams {
data1:string
constructor(str:string) {
this.data1 = str
}
}
router.replaceUrl({ router.replaceUrl({
url: 'pages/detail', url: 'pages/detail',
params: { params: new routerParams('message')
data1: 'message'
}
}, (err) => { }, (err) => {
if (err) { if (err) {
console.error(`replaceUrl failed, code is ${err.code}, message is ${err.message}`); console.error(`replaceUrl failed, code is ${err.code}, message is ${err.message}`);
...@@ -334,18 +398,24 @@ replaceUrl(options: RouterOptions, mode: RouterMode): Promise&lt;void&gt; ...@@ -334,18 +398,24 @@ replaceUrl(options: RouterOptions, mode: RouterMode): Promise&lt;void&gt;
**示例:** **示例:**
```ts ```ts
router.replaceUrl({ import { BusinessError } from '@ohos.base';
url: 'pages/detail',
params: { class routerParams {
data1: 'message' data1:string
constructor(str:string) {
this.data1 = str
} }
}, router.RouterMode.Standard) }
.then(() => {
// success try {
}) router.replaceUrl({
.catch(err => { url: 'pages/detail',
console.error(`replaceUrl failed, code is ${err.code}, message is ${err.message}`); params: new routerParams('message')
}) }, router.RouterMode.Standard)
} catch (err) {
console.error(`replaceUrl failed, code is ${(err as BusinessError).code}, message is ${(err as BusinessError).message}`);
}
``` ```
## router.replaceUrl<sup>9+</sup> ## router.replaceUrl<sup>9+</sup>
...@@ -376,11 +446,17 @@ replaceUrl(options: RouterOptions, mode: RouterMode, callback: AsyncCallback&lt; ...@@ -376,11 +446,17 @@ replaceUrl(options: RouterOptions, mode: RouterMode, callback: AsyncCallback&lt;
**示例:** **示例:**
```ts ```ts
class routerParams {
data1:string
constructor(str:string) {
this.data1 = str
}
}
router.replaceUrl({ router.replaceUrl({
url: 'pages/detail', url: 'pages/detail',
params: { params: new routerParams('message')
data1: 'message'
}
}, router.RouterMode.Standard, (err) => { }, router.RouterMode.Standard, (err) => {
if (err) { if (err) {
console.error(`replaceUrl failed, code is ${err.code}, message is ${err.message}`); console.error(`replaceUrl failed, code is ${err.code}, message is ${err.message}`);
...@@ -424,21 +500,34 @@ pushNamedRoute(options: NamedRouterOptions): Promise&lt;void&gt; ...@@ -424,21 +500,34 @@ pushNamedRoute(options: NamedRouterOptions): Promise&lt;void&gt;
**示例:** **示例:**
```ts ```ts
router.pushNamedRoute({ import { BusinessError } from '@ohos.base';
name: 'myPage',
params: { class innerParams {
data1: 'message', data3:number[]
data2: {
data3: [123, 456, 789] constructor(tuple:number[]) {
} this.data3 = tuple
} }
}) }
.then(() => {
// success class routerParams {
}) data1:string
.catch(err => { data2:innerParams
console.error(`pushNamedRoute failed, code is ${err.code}, message is ${err.message}`);
constructor(str:string, tuple:number[]) {
this.data1 = str
this.data2 = new innerParams(tuple)
}
}
try {
router.pushNamedRoute({
name: 'myPage',
params: new routerParams('message' ,[123,456,789])
}) })
} catch (err) {
console.error(`pushNamedRoute failed, code is ${(err as BusinessError).code}, message is ${(err as BusinessError).message}`);
}
``` ```
详细示例请参考:[UI开发-页面路由](../../ui/arkts-routing.md#命名路由) 详细示例请参考:[UI开发-页面路由](../../ui/arkts-routing.md#命名路由)
...@@ -471,14 +560,27 @@ pushNamedRoute(options: NamedRouterOptions, callback: AsyncCallback&lt;void&gt;) ...@@ -471,14 +560,27 @@ pushNamedRoute(options: NamedRouterOptions, callback: AsyncCallback&lt;void&gt;)
**示例:** **示例:**
```ts ```ts
class innerParams {
data3:number[]
constructor(tuple:number[]) {
this.data3 = tuple
}
}
class routerParams {
data1:string
data2:innerParams
constructor(str:string, tuple:number[]) {
this.data1 = str
this.data2 = new innerParams(tuple)
}
}
router.pushNamedRoute({ router.pushNamedRoute({
name: 'myPage', name: 'myPage',
params: { params: new routerParams('message' ,[123,456,789])
data1: 'message',
data2: {
data3: [123, 456, 789]
}
}
}, (err) => { }, (err) => {
if (err) { if (err) {
console.error(`pushNamedRoute failed, code is ${err.code}, message is ${err.message}`); console.error(`pushNamedRoute failed, code is ${err.code}, message is ${err.message}`);
...@@ -521,21 +623,34 @@ pushNamedRoute(options: NamedRouterOptions, mode: RouterMode): Promise&lt;void&g ...@@ -521,21 +623,34 @@ pushNamedRoute(options: NamedRouterOptions, mode: RouterMode): Promise&lt;void&g
**示例:** **示例:**
```ts ```ts
router.pushNamedRoute({ import { BusinessError } from '@ohos.base';
name: 'myPage',
params: { class innerParams {
data1: 'message', data3:number[]
data2: {
data3: [123, 456, 789] constructor(tuple:number[]) {
} this.data3 = tuple
} }
}, router.RouterMode.Standard) }
.then(() => {
// success class routerParams {
}) data1:string
.catch(err => { data2:innerParams
console.error(`pushNamedRoute failed, code is ${err.code}, message is ${err.message}`);
}) constructor(str:string, tuple:number[]) {
this.data1 = str
this.data2 = new innerParams(tuple)
}
}
try {
router.pushNamedRoute({
name: 'myPage',
params: new routerParams('message' ,[123,456,789])
}, router.RouterMode.Standard)
} catch (err) {
console.error(`pushNamedRoute failed, code is ${(err as BusinessError).code}, message is ${(err as BusinessError).message}`);
}
``` ```
## router.pushNamedRoute<sup>10+</sup> ## router.pushNamedRoute<sup>10+</sup>
...@@ -567,14 +682,27 @@ pushNamedRoute(options: NamedRouterOptions, mode: RouterMode, callback: AsyncCal ...@@ -567,14 +682,27 @@ pushNamedRoute(options: NamedRouterOptions, mode: RouterMode, callback: AsyncCal
**示例:** **示例:**
```ts ```ts
class innerParams {
data3:number[]
constructor(tuple:number[]) {
this.data3 = tuple
}
}
class routerParams {
data1:string
data2:innerParams
constructor(str:string, tuple:number[]) {
this.data1 = str
this.data2 = new innerParams(tuple)
}
}
router.pushNamedRoute({ router.pushNamedRoute({
name: 'myPage', name: 'myPage',
params: { params: new routerParams('message' ,[123,456,789])
data1: 'message',
data2: {
data3: [123, 456, 789]
}
}
}, router.RouterMode.Standard, (err) => { }, router.RouterMode.Standard, (err) => {
if (err) { if (err) {
console.error(`pushNamedRoute failed, code is ${err.code}, message is ${err.message}`); console.error(`pushNamedRoute failed, code is ${err.code}, message is ${err.message}`);
...@@ -616,18 +744,24 @@ replaceNamedRoute(options: NamedRouterOptions): Promise&lt;void&gt; ...@@ -616,18 +744,24 @@ replaceNamedRoute(options: NamedRouterOptions): Promise&lt;void&gt;
**示例:** **示例:**
```ts ```ts
router.replaceNamedRoute({ import { BusinessError } from '@ohos.base';
name: 'myPage',
params: { class routerParams {
data1: 'message' data1:string
constructor(str:string) {
this.data1 = str
} }
}) }
.then(() => {
// success try {
}) router.replaceNamedRoute({
.catch(err => { name: 'myPage',
console.error(`replaceNamedRoute failed, code is ${err.code}, message is ${err.message}`); params: new routerParams('message')
}) })
} catch (err) {
console.error(`replaceNamedRoute failed, code is ${(err as BusinessError).code}, message is ${(err as BusinessError).message}`);
}
``` ```
## router.replaceNamedRoute<sup>10+</sup> ## router.replaceNamedRoute<sup>10+</sup>
...@@ -657,11 +791,17 @@ replaceNamedRoute(options: NamedRouterOptions, callback: AsyncCallback&lt;void&g ...@@ -657,11 +791,17 @@ replaceNamedRoute(options: NamedRouterOptions, callback: AsyncCallback&lt;void&g
**示例:** **示例:**
```ts ```ts
class routerParams {
data1:string
constructor(str:string) {
this.data1 = str
}
}
router.replaceNamedRoute({ router.replaceNamedRoute({
name: 'myPage', name: 'myPage',
params: { params: new routerParams('message')
data1: 'message'
}
}, (err) => { }, (err) => {
if (err) { if (err) {
console.error(`replaceNamedRoute failed, code is ${err.code}, message is ${err.message}`); console.error(`replaceNamedRoute failed, code is ${err.code}, message is ${err.message}`);
...@@ -705,18 +845,24 @@ replaceNamedRoute(options: NamedRouterOptions, mode: RouterMode): Promise&lt;voi ...@@ -705,18 +845,24 @@ replaceNamedRoute(options: NamedRouterOptions, mode: RouterMode): Promise&lt;voi
**示例:** **示例:**
```ts ```ts
router.replaceNamedRoute({ import { BusinessError } from '@ohos.base';
name: 'myPage',
params: { class routerParams {
data1: 'message' data1:string
constructor(str:string) {
this.data1 = str
} }
}, router.RouterMode.Standard) }
.then(() => {
// success try {
}) router.replaceNamedRoute({
.catch(err => { name: 'myPage',
console.error(`replaceNamedRoute failed, code is ${err.code}, message is ${err.message}`); params: new routerParams('message')
}) }, router.RouterMode.Standard)
} catch (err) {
console.error(`replaceNamedRoute failed, code is ${(err as BusinessError).code}, message is ${(err as BusinessError).message}`);
}
``` ```
## router.replaceNamedRoute<sup>10+</sup> ## router.replaceNamedRoute<sup>10+</sup>
...@@ -747,11 +893,17 @@ replaceNamedRoute(options: NamedRouterOptions, mode: RouterMode, callback: Async ...@@ -747,11 +893,17 @@ replaceNamedRoute(options: NamedRouterOptions, mode: RouterMode, callback: Async
**示例:** **示例:**
```ts ```ts
class routerParams {
data1:string
constructor(str:string) {
this.data1 = str
}
}
router.replaceNamedRoute({ router.replaceNamedRoute({
name: 'myPage', name: 'myPage',
params: { params: new routerParams('message')
data1: 'message'
}
}, router.RouterMode.Standard, (err) => { }, router.RouterMode.Standard, (err) => {
if (err) { if (err) {
console.error(`replaceNamedRoute failed, code is ${err.code}, message is ${err.message}`); console.error(`replaceNamedRoute failed, code is ${err.code}, message is ${err.message}`);
...@@ -877,15 +1029,15 @@ showAlertBeforeBackPage(options: EnableAlertOptions): void ...@@ -877,15 +1029,15 @@ showAlertBeforeBackPage(options: EnableAlertOptions): void
**示例:** **示例:**
```ts ```ts
router.showAlertBeforeBackPage({ import { BusinessError } from '@ohos.base';
message: 'Message Info'
}) try {
.then(() => { router.showAlertBeforeBackPage({
// success message: 'Message Info'
}) });
.catch(err => { } catch(err) {
console.error(`showAlertBeforeBackPage failed, code is ${error.code}, message is ${error.message}`); console.error(`showAlertBeforeBackPage failed, code is ${(err as BusinessError).code}, message is ${(err as BusinessError).message}`);
}) }
``` ```
## EnableAlertOptions ## EnableAlertOptions
...@@ -999,6 +1151,26 @@ export default { ...@@ -999,6 +1151,26 @@ export default {
```ts ```ts
// 通过router.pushUrl跳转至目标页携带params参数 // 通过router.pushUrl跳转至目标页携带params参数
import router from '@ohos.router' import router from '@ohos.router'
import { BusinessError } from '@ohos.base'
// 定义传递参数的类
class innerParams {
array:number[]
constructor(tuple:number[]) {
this.array = tuple
}
}
class routerParams {
text:string
data:innerParams
constructor(str:string, tuple:number[]) {
this.text = str
this.data = new innerParams(tuple)
}
}
@Entry @Entry
@Component @Component
...@@ -1006,17 +1178,12 @@ struct Index { ...@@ -1006,17 +1178,12 @@ struct Index {
async routePage() { async routePage() {
let options = { let options = {
url: 'pages/second', url: 'pages/second',
params: { params: new routerParams('这是第一页的值' ,[12, 45, 78])
text: '这是第一页的值',
data: {
array: [12, 45, 78]
}
}
} }
try { try {
await router.pushUrl(options) await router.pushUrl(options)
} catch (err) { } catch (err) {
console.info(` fail callback, code: ${err.code}, msg: ${err.msg}`) console.info(` fail callback, code: ${(err as BusinessError).code}, msg: ${(err as BusinessError).msg}`)
} }
} }
...@@ -1046,12 +1213,30 @@ struct Index { ...@@ -1046,12 +1213,30 @@ struct Index {
// 在second页面中接收传递过来的参数 // 在second页面中接收传递过来的参数
import router from '@ohos.router' import router from '@ohos.router'
class innerParams {
array:number[]
constructor(tuple:number[]) {
this.array = tuple
}
}
class routerParams {
text:string
data:innerParams
constructor(str:string, tuple:number[]) {
this.text = str
this.data = new innerParams(tuple)
}
}
@Entry @Entry
@Component @Component
struct Second { struct Second {
private content: string = "这是第二页" private content: string = "这是第二页"
@State text: string = router.getParams()['text'] @State text: string = (router.getParams() as routerParams).text
@State data: object = router.getParams()['data'] @State data: object = (router.getParams() as routerParams).data
@State secondData: string = '' @State secondData: string = ''
build() { build() {
...@@ -1096,14 +1281,27 @@ push(options: RouterOptions): void ...@@ -1096,14 +1281,27 @@ push(options: RouterOptions): void
**示例:** **示例:**
```ts ```ts
class innerParams {
data3:number[]
constructor(tuple:number[]) {
this.data3 = tuple
}
}
class routerParams {
data1:string
data2:innerParams
constructor(str:string, tuple:number[]) {
this.data1 = str
this.data2 = new innerParams(tuple)
}
}
router.push({ router.push({
url: 'pages/routerpage2', url: 'pages/routerpage2',
params: { params: new routerParams('message' ,[123,456,789])
data1: 'message',
data2: {
data3: [123, 456, 789]
}
}
}); });
``` ```
...@@ -1126,11 +1324,17 @@ replace(options: RouterOptions): void ...@@ -1126,11 +1324,17 @@ replace(options: RouterOptions): void
**示例:** **示例:**
```ts ```ts
class routerParams {
data1:string
constructor(str:string) {
this.data1 = str
}
}
router.replace({ router.replace({
url: 'pages/detail', url: 'pages/detail',
params: { params: new routerParams('message')
data1: 'message'
}
}); });
``` ```
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
@Entry @Entry
@Component @Component
struct MyComponent { struct MyComponent {
@State arr: number[] = Array.from(Array(100), (v,k) =>k); //构造0-99的数组 @State arr: number[] = Array.from(Array<number>(100), (v,k) =>k); //构造0-99的数组
build() { build() {
List() { List() {
ForEach(this.arr, (item: number) => { ForEach(this.arr, (item: number) => {
...@@ -33,8 +33,8 @@ class BasicDataSource implements IDataSource { ...@@ -33,8 +33,8 @@ class BasicDataSource implements IDataSource {
return 0 return 0
} }
public getData(index: number): any { public getData(index: number): string {
return undefined return ''
} }
registerDataChangeListener(listener: DataChangeListener): void { registerDataChangeListener(listener: DataChangeListener): void {
...@@ -90,7 +90,7 @@ class MyDataSource extends BasicDataSource { ...@@ -90,7 +90,7 @@ class MyDataSource extends BasicDataSource {
return this.dataArray.length return this.dataArray.length
} }
public getData(index: number): any { public getData(index: number): string {
return this.dataArray[index] return this.dataArray[index]
} }
...@@ -121,7 +121,7 @@ struct MyComponent { ...@@ -121,7 +121,7 @@ struct MyComponent {
.onClick(() => { .onClick(() => {
this.data.pushData('item value: ' + this.data.totalCount()) this.data.pushData('item value: ' + this.data.totalCount())
}) })
}, item => item) }, (item:string) => item)
} }
} }
} }
...@@ -155,8 +155,8 @@ class BasicDataSource implements IDataSource { ...@@ -155,8 +155,8 @@ class BasicDataSource implements IDataSource {
return 0 return 0
} }
public getData(index: number): any { public getData(index: number): string {
return undefined return ''
} }
registerDataChangeListener(listener: DataChangeListener): void { registerDataChangeListener(listener: DataChangeListener): void {
...@@ -212,7 +212,7 @@ class MyDataSource extends BasicDataSource { ...@@ -212,7 +212,7 @@ class MyDataSource extends BasicDataSource {
return this.dataArray.length return this.dataArray.length
} }
public getData(index: number): any { public getData(index: number): string {
return this.dataArray[index] return this.dataArray[index]
} }
...@@ -235,10 +235,10 @@ struct MyComponent { ...@@ -235,10 +235,10 @@ struct MyComponent {
build() { build() {
Scroll() { Scroll() {
List() { List() {
LazyForEach(this.data, (item: string, index: number) => { LazyForEach(this.data, (item: string, index?: number) => {
ListItem() { ListItem() {
Row() { Row() {
Text('item value: ' + item + (index + 1)).fontSize(20).margin(10) Text('item value: ' + item + (index as number + 1)).fontSize(20).margin(10)
} }
} }
}) })
...@@ -258,8 +258,8 @@ class BasicDataSource implements IDataSource { ...@@ -258,8 +258,8 @@ class BasicDataSource implements IDataSource {
return 0 return 0
} }
public getData(index: number): any { public getData(index: number): string {
return undefined return ''
} }
registerDataChangeListener(listener: DataChangeListener): void { registerDataChangeListener(listener: DataChangeListener): void {
...@@ -315,7 +315,7 @@ class MyDataSource extends BasicDataSource { ...@@ -315,7 +315,7 @@ class MyDataSource extends BasicDataSource {
return this.dataArray.length return this.dataArray.length
} }
public getData(index: number): any { public getData(index: number): string {
return this.dataArray[index] return this.dataArray[index]
} }
...@@ -338,9 +338,9 @@ struct MyComponent { ...@@ -338,9 +338,9 @@ struct MyComponent {
build() { build() {
Scroll() { Scroll() {
List() { List() {
LazyForEach(this.data, (item: string, index: number) => { LazyForEach(this.data, (item: string, index?: number) => {
ListItem() { ListItem() {
Text('item value: ' + item + (index + 1)).fontSize(20).margin(10) Text('item value: ' + item + (index as number + 1)).fontSize(20).margin(10)
}.width('100%') }.width('100%')
}) })
}.width('100%').height(500) }.width('100%').height(500)
...@@ -453,7 +453,7 @@ struct MyComponent { ...@@ -453,7 +453,7 @@ struct MyComponent {
build() { build() {
List() { List() {
LazyForEach(this.source, item => { LazyForEach(this.source, (item:number) => {
ListItem() { ListItem() {
Text("Hello" + item) Text("Hello" + item)
.fontSize(50) .fontSize(50)
...@@ -473,7 +473,7 @@ class MyDataSource implements IDataSource { ...@@ -473,7 +473,7 @@ class MyDataSource implements IDataSource {
return this.data.length return this.data.length
} }
public getData(index: number): any { public getData(index: number): number {
return this.data[index] return this.data[index]
} }
......
...@@ -56,7 +56,7 @@ MyMenu(){ ...@@ -56,7 +56,7 @@ MyMenu(){
content: "菜单选项", content: "菜单选项",
endIcon: $r("app.media.arrow_right_filled"), endIcon: $r("app.media.arrow_right_filled"),
// 当builder参数进行配置时,表示与menuItem项绑定了子菜单。鼠标hover在该菜单项时,会显示子菜单。 // 当builder参数进行配置时,表示与menuItem项绑定了子菜单。鼠标hover在该菜单项时,会显示子菜单。
builder: this.SubMenu.bind(this), builder: this.SubMenu,
}) })
MenuItemGroup({ header: '小标题' }) { MenuItemGroup({ header: '小标题' }) {
MenuItem({ content: "菜单选项" }) MenuItem({ content: "菜单选项" })
...@@ -70,7 +70,7 @@ MyMenu(){ ...@@ -70,7 +70,7 @@ MyMenu(){
startIcon: $r("app.media.view_list_filled"), startIcon: $r("app.media.view_list_filled"),
content: "菜单选项", content: "菜单选项",
endIcon: $r("app.media.arrow_right_filled"), endIcon: $r("app.media.arrow_right_filled"),
builder: this.SubMenu.bind(this) builder: this.SubMenu
}) })
} }
MenuItem({ MenuItem({
......
...@@ -124,21 +124,25 @@ import router from '@ohos.router'; ...@@ -124,21 +124,25 @@ import router from '@ohos.router';
```ts ```ts
class DataModelInfo { class DataModelInfo {
age: number; age: number;
constructor(age: number) {
this.age = age;
}
} }
class DataModel { class DataModel {
id: number; id: number;
info: DataModelInfo; info: DataModelInfo;
constructor(id: number, info: DataModelInfo) {
this.id = id;
this.info = info;
}
} }
function onJumpClick(): void { function onJumpClick(): void {
// 在Home页面中 // 在Home页面中
let paramsInfo: DataModel = { let paramsInfo: DataModel = new DataModel(123, new DataModelInfo(20));
id: 123,
info: {
age: 20
}
};
router.pushUrl({ router.pushUrl({
url: 'pages/Detail', // 目标url url: 'pages/Detail', // 目标url
...@@ -157,9 +161,9 @@ function onJumpClick(): void { ...@@ -157,9 +161,9 @@ function onJumpClick(): void {
```ts ```ts
const params = router.getParams(); // 获取传递过来的参数对象 const params:DataModel = router.getParams() as DataModel; // 获取传递过来的参数对象
const id = params['id']; // 获取id属性的值 const id:number = params.id; // 获取id属性的值
const age = params['info'].age; // 获取age属性的值 const age:number = params.info.age; // 获取age属性的值
``` ```
...@@ -204,11 +208,17 @@ import router from '@ohos.router'; ...@@ -204,11 +208,17 @@ import router from '@ohos.router';
```ts ```ts
class routerParam {
info: string;
constructor(info: string) {
this.info = info;
}
}
router.back({ router.back({
url: 'pages/Home', url: 'pages/Home',
params: { params: new routerParam('来自Home页')
info: '来自Home页'
}
}); });
``` ```
...@@ -219,8 +229,8 @@ import router from '@ohos.router'; ...@@ -219,8 +229,8 @@ import router from '@ohos.router';
```ts ```ts
onPageShow() { onPageShow() {
const params = router.getParams(); // 获取传递过来的参数对象 const params = router.getParams() as routerParam; // 获取传递过来的参数对象
const info = params['info']; // 获取info属性的值 const info = params.info; // 获取info属性的值
} }
``` ```
...@@ -257,6 +267,8 @@ import router from '@ohos.router'; ...@@ -257,6 +267,8 @@ import router from '@ohos.router';
```ts ```ts
import {BusinessError} from '@ohos.base';
// 定义一个返回按钮的点击事件处理函数 // 定义一个返回按钮的点击事件处理函数
function onBackClick(): void { function onBackClick(): void {
// 调用router.showAlertBeforeBackPage()方法,设置返回询问框的信息 // 调用router.showAlertBeforeBackPage()方法,设置返回询问框的信息
...@@ -265,7 +277,7 @@ function onBackClick(): void { ...@@ -265,7 +277,7 @@ function onBackClick(): void {
message: '您还没有完成支付,确定要返回吗?' // 设置询问框的内容 message: '您还没有完成支付,确定要返回吗?' // 设置询问框的内容
}); });
} catch (err) { } catch (err) {
console.error(`Invoke showAlertBeforeBackPage failed, code is ${err.code}, message is ${err.message}`); console.error(`Invoke showAlertBeforeBackPage failed, code is ${(err as BusinessError).code}, message is ${(err as BusinessError).message}`);
} }
// 调用router.back()方法,返回上一个页面 // 调用router.back()方法,返回上一个页面
...@@ -295,6 +307,9 @@ import router from '@ohos.router'; ...@@ -295,6 +307,9 @@ import router from '@ohos.router';
```ts ```ts
import { BusinessError } from '@ohos.base';
import promptAction from '@ohos.promptAction';
function onBackClick() { function onBackClick() {
// 弹出自定义的询问框 // 弹出自定义的询问框
promptAction.showDialog({ promptAction.showDialog({
...@@ -319,7 +334,7 @@ function onBackClick() { ...@@ -319,7 +334,7 @@ function onBackClick() {
// 调用router.back()方法,返回上一个页面 // 调用router.back()方法,返回上一个页面
router.back(); router.back();
} }
}).catch((err) => { }).catch((err:BusinessError) => {
console.error(`Invoke showDialog failed, code is ${err.code}, message is ${err.message}`); console.error(`Invoke showDialog failed, code is ${err.code}, message is ${err.message}`);
}) })
} }
...@@ -355,6 +370,25 @@ struct MyComponent { ...@@ -355,6 +370,25 @@ struct MyComponent {
// entry/src/main/ets/pages/Index.ets // entry/src/main/ets/pages/Index.ets
import router from '@ohos.router'; import router from '@ohos.router';
import 'library/src/main/ets/pages/Index' // 引入共享包library中的命名路由页面 import 'library/src/main/ets/pages/Index' // 引入共享包library中的命名路由页面
import { BusinessError } from '@ohos.base';
class innerParams {
data3: number[];
constructor(tuple: number[]) {
this.data3 = tuple;
}
}
class routerParams {
data1: string;
data2: innerParams;
constructor(data1: string, data2: number[]) {
this.data1 = data1;
this.data2 = new innerParams(data2);
}
}
@Entry @Entry
@Component @Component
...@@ -370,15 +404,10 @@ struct Index { ...@@ -370,15 +404,10 @@ struct Index {
try { try {
router.pushNamedRoute({ router.pushNamedRoute({
name: 'myPage', name: 'myPage',
params: { params: new routerParams('message', [123, 456, 789])
data1: 'message',
data2: {
data3: [123, 456, 789]
}
}
}) })
} catch (err) { } catch (err) {
console.error(`pushNamedRoute failed, code is ${err.code}, message is ${err.message}`); console.error(`pushNamedRoute failed, code is ${(err as BusinessError).code}, message is ${(err as BusinessError).message}`);
} }
}) })
} }
......
...@@ -86,7 +86,7 @@ export struct share_transition_expand { ...@@ -86,7 +86,7 @@ export struct share_transition_expand {
build() { build() {
Column() { Column() {
List() { List() {
ForEach(this.listArray, (item, index) => { ForEach(this.listArray, (item:number, index) => {
// 根据需要定制展开后的组件 // 根据需要定制展开后的组件
if (!this.isExpand || this.curIndex == index) { if (!this.isExpand || this.curIndex == index) {
ListItem() { ListItem() {
...@@ -128,7 +128,7 @@ export struct share_transition_expand { ...@@ -128,7 +128,7 @@ export struct share_transition_expand {
.onClick(() => { .onClick(() => {
// 定义展开收起的动画参数 // 定义展开收起的动画参数
animateTo({ curve: curves.springMotion(0.6, 0.9) }, () => { animateTo({ curve: curves.springMotion(0.6, 0.9) }, () => {
this.curIndex = index; this.curIndex = index as number;
this.isExpand = !this.isExpand; this.isExpand = !this.isExpand;
}) })
}) })
...@@ -216,12 +216,12 @@ export struct share_zIndex_expand { ...@@ -216,12 +216,12 @@ export struct share_zIndex_expand {
@Link isExpand: boolean; @Link isExpand: boolean;
@Link curIndex: number; @Link curIndex: number;
@State listArray: Array<number> = [1, 2, 3, 4, 5, 6]; @State listArray: Array<number> = [1, 2, 3, 4, 5, 6];
private parentScroller: Scroller; // 上层滑动组件控制器 private parentScroller: Scroller = new Scroller(); // 上层滑动组件控制器
build() { build() {
Column() { Column() {
List() { List() {
ForEach(this.listArray, (item, index) => { ForEach(this.listArray, (item: number, index) => {
// 根据需要定制展开后的组件 // 根据需要定制展开后的组件
if (!this.isExpand || this.curIndex == index) { if (!this.isExpand || this.curIndex == index) {
ListItem() { ListItem() {
...@@ -271,7 +271,7 @@ export struct share_zIndex_expand { ...@@ -271,7 +271,7 @@ export struct share_zIndex_expand {
.onClick(() => { .onClick(() => {
// 定义展开收起的动画参数 // 定义展开收起的动画参数
animateTo({ curve: curves.springMotion(0.6, 0.9) }, () => { animateTo({ curve: curves.springMotion(0.6, 0.9) }, () => {
this.curIndex = index; this.curIndex = index as number;
this.isExpand = !this.isExpand; this.isExpand = !this.isExpand;
}) })
}) })
...@@ -540,7 +540,7 @@ struct AutoAchieveShareTransitionDemo { ...@@ -540,7 +540,7 @@ struct AutoAchieveShareTransitionDemo {
Stack() { Stack() {
Scroll() { Scroll() {
Column({ space: 20 }) { Column({ space: 20 }) {
ForEach(this.items, (item, index) => { ForEach(this.items, (item:string, index) => {
Row() { Row() {
Column() { Column() {
Text('共享元素 ' + item) Text('共享元素 ' + item)
...@@ -567,15 +567,7 @@ struct AutoAchieveShareTransitionDemo { ...@@ -567,15 +567,7 @@ struct AutoAchieveShareTransitionDemo {
.onClick(() => { .onClick(() => {
// 获取对应组件的位置、大小信息 // 获取对应组件的位置、大小信息
let strJson = getInspectorByKey(item); let strJson = getInspectorByKey(item);
let obj = JSON.parse(strJson); let rect_top:number = JSON.parse('[' + JSON.parse('[' + JSON.parse(strJson).$rect + ']')[0] + ']')[1];
let rectInfo = JSON.parse('[' + obj.$rect + ']');
let rect_left = JSON.parse('[' + rectInfo[0] + ']')[0];
let rect_top = JSON.parse('[' + rectInfo[0] + ']')[1];
let rect_right = JSON.parse('[' + rectInfo[1] + ']')[0];
let rect_bottom = JSON.parse('[' + rectInfo[1] + ']')[1];
let rect_value = {
"left": rect_left, "top": rect_top, "right": rect_right, "bottom": rect_bottom
};
// 设置共享元素的位置、内容、状态 // 设置共享元素的位置、内容、状态
this.rect_top = rect_top; this.rect_top = rect_top;
......
...@@ -68,10 +68,10 @@ class Spring { ...@@ -68,10 +68,10 @@ class Spring {
// 弹簧组件 // 弹簧组件
@Component @Component
struct Motion { struct Motion {
@Prop dRotate: number @Prop dRotate: number = 0
private title: string private title: string = ''
private subTitle: string private subTitle: string = ''
private iCurve: ICurve private iCurve: ICurve = curves.initCurve()
build() { build() {
Row() { Row() {
...@@ -134,11 +134,17 @@ struct Motion { ...@@ -134,11 +134,17 @@ struct Motion {
@Component @Component
export struct SpringDemo { export struct SpringDemo {
@State dRotate: number = 0; @State dRotate: number = 0;
private curvelist: ICurve[] = [
curves.springMotion(1, 0.25),
curves.responsiveSpringMotion(1, 0.25),
curves.interpolatingSpring(10, 1, 228, 30),
curves.springCurve(10, 1, 228, 30)
];
private springs: Spring[] = [ private springs: Spring[] = [
new Spring('springMotion()', '(springMotion(1, 0.25): \n\n周期2, 阻尼0.25)', curves.springMotion(1, 0.25)), new Spring('springMotion()', '(springMotion(1, 0.25): \n\n周期2, 阻尼0.25)', this.curvelist[0]),
new Spring('responsiveSpringMotion()', 'responsiveSpringMotion(1, 0.25): \n\n默认弹性跟手曲线', curves.responsiveSpringMotion(1, 0.25)), new Spring('responsiveSpringMotion()', 'responsiveSpringMotion(1, 0.25): \n\n默认弹性跟手曲线', this.curvelist[1]),
new Spring('interpolatingSpring()', '(interpolatingSpring(10, 1, 228, 30): \n\n初始速度100, 质量1, 剛度228, 阻尼30)', curves.interpolatingSpring(10, 1, 228, 30)), new Spring('interpolatingSpring()', '(interpolatingSpring(10, 1, 228, 30): \n\n初始速度100, 质量1, 剛度228, 阻尼30)', this.curvelist[2]),
new Spring('springCurve()', '(springCurve(10, 1, 228, 30): \n\n初始速度100, 质量1, 剛度228, 阻尼30)', curves.springCurve(10, 1, 228, 30)) new Spring('springCurve()', '(springCurve(10, 1, 228, 30): \n\n初始速度100, 质量1, 剛度228, 阻尼30)', this.curvelist[3])
]; ];
build() { build() {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册