【问题标题】:Nativescript Code Behind - Add GridLayout to ScrollView DynamicallyNativescript 代码背后 - 将 GridLayout 动态添加到 ScrollView
【发布时间】:2018-10-15 22:55:19
【问题描述】:

我正在按照页面上的示例在 Nativescript 中创建一个动态 GridLayout:

https://docs.nativescript.org/ui/layouts/layout-containers

它允许我使用 javascript 制作一个 GridLayout,因为我需要它是动态的。

但是,我想把这个布局放在一个 ScrollView 中。

我相信我注定要做这样的事情

const grid = new GridLayout();
const scroll = new ScrollView();  
grid.addChild();

...

scroll.addView(grid);

我经常收到一条错误消息,说“addView”不是函数。

这是正确的方法吗?什么'需要(“”);'我需要 ScrollView 吗?

谢谢

【问题讨论】:

    标签: javascript nativescript


    【解决方案1】:

    您需要从 import { ScrollView } from 'ui/scroll-view';

    而且不是addView,可用的公共方法是_addView

    【讨论】:

    • 谢谢纳伦德拉,所以我只能用角度来做吗?系统是用javascript写的,我知道js怎么调用import,但还是会是_addView?
    • 你可以使用 require 例如const scroll = require('../../ui/scroll-view');是的,方法名称仍然是 _addView
    • 所以我做了: const ScrollView = require("tns-core../ui/scroll-view");然后我做了'const scroll = new ScrollView' - 我得到了错误(ScrollView 不是一个函数),然后我尝试了 ScrollView._addView(grid) 它说(ScrollView._addView 不是一个函数)
    • 应该是 var scroll = new ScrollView();您是否有任何特定原因要从代码中添加滚动视图,您可以在您的 html 中使用它并访问它 var scrollView = page.getViewById('SCROLL_VIEW_ID')
    • 我在项目中调用页面的方式需要使用代码。我终于让滚动视图正常工作,但没有显示任何内容。一旦我去 scroll._addView(grid) 我做了 page.content = scroll;它只是空白?
    【解决方案2】:

    所以仅供以后其他人参考。

    _addView() 方法不会抛出任何错误,但是我无法让场景实际加载或显示任何内容。

    如果有办法正确加载 _addView(),那么很高兴有人添加该评论。

    该方法的操场如下:

    https://play.nativescript.org/?template=play-js&id=LlsHLd

    我得到它的方法是通过以下操作:

    const scrollView = require("tns-core-modules/ui/scroll-view").Scroll-View;
    var scrollV = new scrollView();
    
    (Dynamically load a gridlayout)
    grid.addChild()
    ....
    
    scroll.content = grid;
    page.content = scroll;
    

    感谢大家的帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-23
      • 2012-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-04
      相关资源
      最近更新 更多