本文主要是介绍7.qml设置可以通知更新的map数据模型JsonMap,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
- 代码(JsonMap迭代)
- 问题点
代码(JsonMap迭代)
后续会在这里更新最新版本代码
JsonMap.qml 1.0版本
import QtQuick 2.0QtObject {id: controlreadonly property int size: prototype.list.size// 可以使用链式写法function set(key,value){let oldVal = prototype.list.get(key)if(!Object.is(oldVal,value)){prototype.list.set(key,value)prototype.listChanged();}return control}function values(){return prototype.list.values;}function entries(){return prototype.list.entries();}function clear(){prototype.list.clear()}function del(key){let res = prototype.list.delete(key)if(res){prototype.listChanged();}return res}function has(key){return prototype.list.has(key)}function keys(){return prototype.list.keys();}function get(key){return prototype.list.get(key)}function forEach(callbackFn, thisArg){prototype.list.forEach(callbackFn,thisArg)}// override ------ JSON.stringifyfunction toJSON(){return prototype.list}// new function to operate map//一个元素是键值对的数组或其他可迭代对象。//(例如,包含两个元素的数组,如 [[ 1, 'one' ],[ 2, 'two' ]]。)//会被完全覆盖function fill(iterable){prototype.list = new Map(iterable)}// private field,method// not hope to be used outsideproperty QtObject prototype: QtObject{property var list: new Map()}
}
问题点
a)fill方法需要优化,内容尽量适配二维数组,map原型,JsonMap自身
这篇关于7.qml设置可以通知更新的map数据模型JsonMap的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!