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设置属性生效
222浏览 • 1回复 待解决
用数组变量控制组件属性生效
206浏览 • 1回复 待解决
textfield截断属性生效
864浏览 • 1回复 待解决
ConstraintSize尺寸设置生效
309浏览 • 1回复 待解决
Web组件onKeyEvent键盘事件生效
272浏览 • 1回复 待解决
Web组件domStorageAccess属性设置
346浏览 • 1回复 待解决
list-item 根据boolean属性 动态设置class
2821浏览 • 1回复 待解决
List组件如何设置多列
273浏览 • 1回复 待解决
使用position之后height生效
244浏览 • 1回复 待解决
js如何把list组件设置为横向
1980浏览 • 1回复 待解决
创建单例换了页面后生效问题
190浏览 • 1回复 待解决
List组件如何设置两端渐变效果
195浏览 • 1回复 待解决