细胞医疗 网站模版,价格对比网站开发,赣州建设公司网站,wordpress搜图插件需求#xff1a;使用uniapp#xff0c;模拟key#xff08;表名#xff09;增删改查对象数组#xff0c;每个key可以单独操作#xff0c;并模拟面对对象对应表#xff0c;每个key对应的baseInstance 类似一个操作类#xff0c;当然如果你场景比较简单#xff0c;可以改…需求使用uniapp模拟key表名增删改查对象数组每个key可以单独操作并模拟面对对象对应表每个key对应的baseInstance 类似一个操作类当然如果你场景比较简单可以改为固定key或者传值key调普通js而不需要new base.js
export default {data() {return {}},methods: {// 一是不需要new来调用二是参数非常灵活可以不传也可以这么传createBaseStore(key) {return new this.baseInstance(key || {})},// 函数创建对象 每个key对应自己的方法 达到实例化效果 使用 baseInstance.addExt(obj) 自动携带固定keybaseInstance(key) {this.dataKey key;this.addExt function addExt(obj) {var dataList this.getAllExt()if (dataList null) {dataList new Array()}var newItemid 0const last dataList.length - 1if (last 0) {newItemid dataList[last].id 1}obj.id newItemiddataList.push(obj)this.save(dataList)}this.removeExt function removeExt(param) {var dataList this.getAllExt();var findItemIndex dataList.findIndex(item {if (item.id param) {return true}})if (findItemIndex 0) {const newList dataList.splice(findItemIndex, 1)console.log(remove item is index, findItemIndex, JSON.stringify(newList))this.save(dataList)} else {console.log(not find remove param, param)}}this.changeExt function changeExt() {console.log(change)}this.searchExt function searchExt() {console.log(search)}this.save function save(dataList) {var dataJson JSON.stringify(dataList)uni.setStorage({key: key,data: dataJson,success: function() {console.log(key:, key, addExt success, dataJson);console.log(curr size, dataList.length);}});}this.getAllExt function getAllExt() {try {const value uni.getStorageSync(this.dataKey);if (!value) {console.log(getAllExt is empty);return null}const dataBean JSON.parse(value)if (dataBean) {return dataBean}} catch (e) {console.log(showAllToLogExt error, e);}return null}this.showAllToLogExt function showAllToLogExt() {try {const value this.getAllExt();if (value) {console.log(showAllToLogExt, value);}} catch (e) {console.log(showAllToLogExt error, e);}}},clearAllExt() {console.log(clearAllExt)uni.clearStorage()}}}
vue使用
templateviewview classuni-flex uni-row style-webkit-justify-content: center;justify-content: center;button typedefault v-on:clickshowAllToLog()showAllToLog/buttonbutton typedefault v-on:clickadd()add/buttonbutton typedefault v-on:clickremove()remove/buttonbutton typedefault v-on:clickchange()change/buttonbutton typedefault v-on:clicksearch()search/buttonbutton typedefault v-on:clickclearAll()clearAll/button/view/view
/templatescriptimport base from /pages/base/base.jsexport default {mixins: [base],data() {return {title: demo学习,TestBean: {id: 0,a: ,b: ,c: ,},dataExt: {},dataExt2: {},storeInstance1: this.createBaseStore(key111),storeInstance2: this.createBaseStore(key222),indexId: 0}},onload() {getAllExt()},methods: {showAllToLog() {this.storeInstance1.showAllToLogExt()this.storeInstance2.showAllToLogExt()},add() {// 操作类型1实例 存对象2到对象数组2var currentTime new Date();this.dataExt.name 111this.dataExt.goodsTime currentTimethis.storeInstance1.addExt(this.dataExt)// key1Store.remove// key1Store. 等等操作// 操作类型2实例 存对象2到对象数组2this.dataExt2.name param2this.dataExt2.param2Time currentTimethis.storeInstance2.addExt(this.dataExt2)},remove() {// 模拟后续加上id即可目前只是掩饰this.storeInstance1.removeExt(4)this.storeInstance2.removeExt(4)},change() {this.changeExt()},search() {this.searchExt()},clearAll() {this.clearAllExt()},}}
/scriptstyle/style