头图

172f8c2afbe4780c60314ea5f8d2852.png
答案:BC

DismissPopupAction12

CustomPopupOptions8+类型说明

onWillDismiss12

设置popup交互式关闭拦截开关及拦截回调函数,默认值为true,popup响应点击、左滑/右滑、三键back。

1.当为boolean类型时,如果设置为false,则不响应点击、左滑/右滑、三键back或键盘ESC退出事件,仅当设置“弹窗显示状态”参数show值为false时才退出;如果设置为true,则正常响应退出事件;

2.如果设置为函数类型,则拦截退出事件且执行回调函数。

2、下列代码中,点击Transparent文本区域时会触发哪些组件的onTouch回调
c3de96c6ffb89049a0990e29b3bcaa3.png
6f395aead14076294fffffd9f92b7a0.png

答案:AB

代码:

@Entry
@Component
struct HitTestBehaviorExample {
  build() {
    // outer stack
    Stack() {
      Button('outer button')
        .onTouch((event) => {
          console.info('outer button touched type: ' + (event as TouchEvent).type)
        })
      // inner stack
      Stack() {
        Button('inner button')
          .onTouch((event) => {
            console.info('inner button touched type: ' + (event as TouchEvent).type)
          })
      }
      .width("100%").height("100%")
      .hitTestBehavior(HitTestMode.Block)
      .onTouch((event) => {
        console.info('Stack touched type: ' + (event as TouchEvent).type)
      })

      Text('Transparent')
        .hitTestBehavior(HitTestMode.Transparent)
        .width("100%")
        .height("100%")
        .borderWidth(1)
        .onTouch((event) => {
          console.info('text touched type: ' + (event as TouchEvent).type)
        })
    }.width(300).height(300)
  }
}

运行:

image.png

fd2f398ad4e872e6a612fb2f1c8bc54.png

答案:ABC

94019b6eeae3a07d132297b52976a3d.png

答案:ABC

优化长列表加载慢丢帧问题

LazyForEach
keyGenerator
键值生成函数,用于给数据源中的每一个数据项生成唯一且固定的键值。当数据项在数组中的位置更改时,其键值不得更改,当数组中的数据项被新项替换时,被替换项的键值和新项的键值必须不同。键值生成器的功能是可选的,但是,为了使开发框架能够更好地识别数组更改,提高性能,建议提供。如将数组反向时,如果没有提供键值生成器,则LazyForEach中的所有节点都将重建。


金刚鹦鹉
4.7k 声望250 粉丝