首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >网格layoutData不适用于sap.ui.view元素

网格layoutData不适用于sap.ui.view元素
EN

Stack Overflow用户
提问于 2015-05-22 14:26:34
回答 1查看 2.7K关注 0票数 1

请看下面的柱塞链接

问题是当使用视图作为模板时

代码语言:javascript
复制
var productTemplate = new sap.ui.view({
      viewName: "view.Product",
      type: sap.ui.core.mvc.ViewType.JS,
      layoutData: new sap.ui.layout.GridData({
        span: "L1 M3 S6"
      })
    });

未应用layoutData属性对象。这些产品将使用Grid默认的"L3 M6 S12“逻辑显示。

当使用其他元素(如Label )时,不会出现此错误。

代码语言:javascript
复制
var productTemplate = new sap.ui.commons.Label({
      text: "{name}",
      layoutData: new sap.ui.layout.GridData({
        span: "L1 M3 S6"
      })
    });

请在Main.view.js中查看并更改文件以测试它。我做错了什么?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-09 12:34:15

您是对的,layoutData没有应用于视图。这是因为属性不是sap.ui.view()函数的有效参数。只有以下几点得到支持:

  • id {String}
  • viewName {String}
  • 控制器 {sap.ui.core.mvc.Controller}
  • {sap.ui.core.mvc.ViewType}

layoutData属性来自视图的继承链中的sap.ui.core.Element,但是sap.ui.view函数根本不考虑它。但是,您可以在初始化之后附加它:

代码语言:javascript
复制
var productTemplate = new sap.ui.view({
    viewName: "view.Product",
    type: sap.ui.core.mvc.ViewType.JS
}).setLayoutData(new sap.ui.layout.GridData({
    span: "L1 M3 S6"
}));

但是,我不建议在单独的视图中创建数据库模板,因为这与视图的整个生命周期有关。一个更好的方法将是您的第二个例子,您将立即创建标签。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30399309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档