当前位置: 首页 > news >正文

国外产品网站点击到达网站指定位置怎么做

国外产品网站,点击到达网站指定位置怎么做,多梦wordpress,网站的建设维护及管理制度开发需求#xff1a;有一个字符串数组#xff0c;可以通过弹框编辑其中的某个字符串#xff0c;编辑完成后更新数组并持久化这个数组。 这个需求算是很简单#xff0c;很常见的需求了。但是#xff0c;开发过程中却遇到了一个不小的难题。 我的数组内容需要在组件中显示…开发需求有一个字符串数组可以通过弹框编辑其中的某个字符串编辑完成后更新数组并持久化这个数组。 这个需求算是很简单很常见的需求了。但是开发过程中却遇到了一个不小的难题。 我的数组内容需要在组件中显示数据更新页面刷新。所以用state装饰器修饰数组。 然后点击某个字符串内容弹出customDialog用户修改确认后将修改的字符串回传同时修改数组的内容持久化数组。一番操作猛如虎结果一看直接崩溃 而且这个崩溃从以上日志是真看不出来为啥。不断的删减代码发现一个官方问题。state修饰的属性在customDialog回调中利用用户首选项持久化会崩溃至于为啥估计也就官方知道。 结果有了贴一下我的崩溃示例代码 import Prompt from system.prompt import dataPreferences from ohos.data.preferencesEntry Component struct Index {State currentTitle: string 点击我//需要持久化的数据State dataArray: string[] [654,357,65456,35723]private templateDataManager new BarrageTemplateModel()//自定义弹框editDialogController: CustomDialogController new CustomDialogController({builder: CustomEditDialog({confirm: this.onConfirm.bind(this),currentTitle:$currentTitle}),autoCancel: false,alignment: DialogAlignment.Center,offset: { dx: 0, dy: -20 },gridCount: 4,customStyle: false})//弹框修改完成回调onConfirm() {this.dataArray.splice(0,1) //这里会导致崩溃 this.templateDataManager.saveTemplateData(getContext(this),kUserTemplateKey_HanHua,copy)}build() {Row() {Column() {Text(this.currentTitle).fontSize(50).fontWeight(FontWeight.Bold).onClick(() {//这样直接操作不牵扯dialog就不崩溃// this.dataArray.splice(0,1)// this.templateDataManager.saveTemplateData(getContext(this),kUserTemplateKey_HanHua,this.dataArray)// Prompt.showToast({message:点击了})//这样会崩溃if (this.editDialogController ! undefined) {this.editDialogController.open()}})}.width(100%)}.height(100%)} }//弹出框 CustomDialog struct CustomEditDialog {Link currentTitle: stringprivate tempTitle: string controller: CustomDialogControllercancel: () voidconfirm: () voidbuild() {Column() {TextArea({text: this.currentTitle}).backgroundColor(0xffffff).fontColor(Color.Black).fontSize(20).width(100%).height(200).margin(20).onChange((value: string) { //显示键盘if (value) {this.tempTitle value;}})Divider().opacity(0.5).width(100%).color(#D3D3D3)Row() {Text(取消).backgroundColor(0xffffff).fontColor(Color.Black).fontSize(20).margin(10).height(100%).width(45%).textAlign(TextAlign.Center).onClick(() {this.controller.close()this.cancel()})Divider().vertical(true).color(#D3D3D3)Text(确定).backgroundColor(0xffffff).fontColor(Color.Black).fontSize(20).margin(10).width(45%).height(100%).textAlign(TextAlign.Center).onClick(() {this.currentTitle this.tempTitlethis.controller.close()this.confirm()})}.justifyContent(FlexAlign.SpaceEvenly).width(100%).height(60)}} }//存储数据的类 class BarrageTemplateModel {saveTemplateData(context: Context,key: string, hanHuaArray: string[]) {console.log(存储用户持久化存储的模版000hanHuaArray.toString())dataPreferences.getPreferences(context,PREFERENCE_KEY,(err,preference) {if (err) {console.log(存储用户持久化存储的模版err1err)return}console.log(存储用户持久化存储的模版success1)preference.put(key,hanHuaArray,(err) {if (err) {console.log(存储用户持久化存储的模版err2err)return}console.log(存储用户持久化存储的模版success2)preference.flush((err) {console.log(存储用户持久化存储的模版success3)if (err) {console.log(存储用户持久化存储的模版err3err)return}console.log(存储用户持久化存储的模版success4)console.log(存储用户持久化存储的模版hanHuaArray.toString())})})})} }查了不少资料一开始认为是不是因为用户首选项不支持字符串数组后来看文档是支持的。 然后认为是不是因为回调的bind(this)但是不添加bind(this)又会导致回调中的this不是当前组件访问不到属性。 直到后来注意到我的数组用了state修饰去掉后果然不崩溃了。但是我的组件中又需要这个数组用state修饰。进退两难。。。。 最后只能来个曲线救国我持久化的数据不直接操作state的对象而是持久化copy出来新的一份就不崩溃了如下 //弹出框的回调方法onConfirm() {//假设这是对数组进行操作了this.dataArray.splice(0,1)//回调中我将dataArray复制存储在copy中const copy this.dataArray.map( num num )//持久化copy数据不操作dataArray this.templateDataManager.saveTemplateData(getContext(this),kUserTemplateKey_HanHua,copy)} 这个操作复制一份持久化复制的内容真的辣眼睛但是这样确实不崩溃了值得一提的是如果你直接const copy this.dataArray也是不行的除非复制出来新的一块内存。这个问题估计官方会修复而且这个操作也太常见了。。。。
http://www.hkea.cn/news/14534523/

相关文章:

  • 做湲兔费网站视颍邯郸网络运营处理中心
  • 万户网站做网站配送地址怎么变换
  • 青岛公司网站建设廊坊网站建设开发
  • 济南专业网站制作酒泉网站建设有哪些
  • 做网站大约要多少钱企梦网站建设
  • 做美食的网站有哪些长春建站公司
  • 兰州市城乡建设局网官网站百度打广告多少钱
  • 做网站需要套模板51简历模板网
  • cdr可不可做网站个人网站备案做论坛
  • 建设公司网站费用多少创建公司网站需要什么
  • 案例网站有哪些怎么做才能发布网站
  • 则么做网站网站做维恩图
  • 做外贸网站公司如何优化网页加载速度
  • 邢台网站推广怎么做营销型网站建设一般多少钱
  • 彩票网站建设一条龙正版视频素材网站
  • 网站推广的主题响应式网站建设定制
  • 山东app网站制作网站自定义301
  • 淘宝自己网站怎么建设网站制作流程
  • 网站建设c云世家宋南南使用免费建站
  • 建立网站的工具广告图文制作用哪个软件
  • 社区做图网站许昌网络公司
  • 个人网站模板建站张家口网站建设费用
  • 石家庄网站设计工作室好的宝安网站建设
  • eclipse做企业网站深圳高端网站建设怎么样
  • 青海网站 建设北京网站关键词排名推广
  • 购物网站开发多少钱网站推广的全过程
  • 加强对网站建设淘宝运营学习
  • 国外网站建设嫣语赋如何扫描一个网站的漏洞
  • 中国建设银行网站企业策划公司名字
  • 金华专业网站制作公司东莞万江今天最新通知