List组件的initialIndex属性设置不生效

创建自定义菜单时,MenuBuilder使用List实现,给List设置initialIndex属性不生效。

HarmonyOS
2024-02-20 11:00:33
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
morning_dxm

Menu组件会自动内嵌Scroll组件,内部再放List组件时,List组件会将Scroll撑大,即List组件不会滚动,滚动的是默认的Scroll组件,因此设置initialIndex属性不生效。

可以给List组件设置列表高度,当List组件内容高度超过该高度时,List组件可以滚动,此时设置initialIndex便可以显示指定的菜单项。

示例代码

// xxx.ets 
@Entry 
@Component 
struct ListExample { 
  arr: string[] = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12']; 
 
  build() { 
    Column() { 
      Scroll() { 
        List({ initialIndex: 5 }) { 
          ForEach(this.arr, (item: string) => { 
            ListItem(item) { 
              Row() { 
                Text(item) 
                  .fontColor(Color.Red) 
                  .fontSize(40) 
              } 
            } 
            .width('100%') 
            .height(100) //此处若未设置List高度,则initialIndex属性不生效 
            .border({ 
              width: 1, 
              color: Color.Black, 
              radius: 5 
            }) 
          }) 
        } 
        .height(400) 
        .alignListItem(ListItemAlign.Center) 
      } 
    } 
    .padding({ top: 10 }) 
  } 
}
分享
微博
QQ
微信
回复
2024-02-20 20:00:10
相关问题
通过WindowProperties设置属性生效
2049浏览 • 1回复 待解决
textfield截断属性生效
2733浏览 • 1回复 待解决
用数组变量控制组件属性生效
1688浏览 • 1回复 待解决
ConstraintSize尺寸设置生效
2277浏览 • 1回复 待解决
HarmonyOS Panel 设置 borderRadius 生效
545浏览 • 1回复 待解决
容器组件onVisibleAreaChange生效
1759浏览 • 1回复 待解决
Tab 设置 barBackgroundColor为透明生效
205浏览 • 1回复 待解决
HarmonyOS Badge文本颜色设置生效
167浏览 • 1回复 待解决
Web组件onKeyEvent键盘事件生效
1945浏览 • 1回复 待解决
HarmonyOS 组件切换深色模式生效
297浏览 • 1回复 待解决
在嵌套组件中Scroll生效
2040浏览 • 1回复 待解决
HarmonyOS 设置了icon和label生效
75浏览 • 1回复 待解决