当前位置:   article > 正文

qml中ListModel使用方法

listmodel

ListModel中的数据可以看作是一个Object,可以使用Object中的方法,常用方法如下图。

 但在创建新的对象和添加数据时,却和常规的Object不一致,需要特殊处理,代码如下。

  1. property var listModel: ListModel{}
  2. function testModel(){
  3. var ob={};
  4. ob.name = "11";
  5. ob.age =18;
  6. ob.detail2 = {}
  7. listModel.append(ob);
  8. var data = listModel.get(0);
  9. //修改属性成功
  10. var t1 ={"b":"bbbb"}; //先定义对象
  11. var t2 ={};
  12. t2.info = t1;
  13. data.detail2 = t2; //再使用对象
  14. console.log("2", JSON.stringify(data));
  15. //修改属性失败
  16. data.detail2.info ={"c":"cccc"}; //直接串联写入数据无效
  17. console.log("3", JSON.stringify(data));
  18. //添加属性失败
  19. // data.detail1 ={}; //添加对象数据失败
  20. // data.detail1.info ={"a":"aaaa"}; //TypeError
  21. // console.log("11", JSON.stringify(data));
  22. //添加属性成功
  23. var dataStr = JSON.stringify(data); //通过序列化添加数据
  24. var data2 = JSON.parse(dataStr);
  25. data2.detail1 ={};
  26. data2.detail1.info ={"a":"aaaa"};
  27. data = data2;
  28. console.log("11", JSON.stringify(data));
  29. }

总结:

  • ListModel支持添加和获取Object对象。
  • ListModel不支持级联设置参数(如data.detail2.info)。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/170721
推荐阅读
  

闽ICP备14008679号