HarmonyOS 使用全局 @Builder 应用 crash
使用全局 @Builder 应用 crash
crash 结果:Cannot read property observeComponentCreation2 of undefined
复现代码:
https://gitee.com/smarthane/appupdate
仓库中 Index.ets 替换为如下内容,运行后点击 测试弹窗 应用 crash
import { AppUpdateDialogModel, AppUpdateHelper, DialogStyleEnum } from '@smarthane/appupdate'
import promptAction from '@ohos.promptAction'
import { TitleBar } from '@smarthane/titlebar'
import { common } from '@kit.AbilityKit'
const uiContext = getContext(this) as common.UIAbilityContext
/**
* 自定布局输入弹窗
*/
@Builder
function builderCustomDialogInputView() {
Column() {
Column({ space: '10vp' }) {
Text('这是提示输入的标题')
.fontSize('15fp')
.fontColor(Color.Black)
.textAlign(TextAlign.Start)
.fontWeight(FontWeight.Bold)
TextInput({ placeholder: '这是提示文本' })
.fontSize('12fp')
.fontColor(Color.Black)
.textAlign(TextAlign.Start)
.fontWeight(FontWeight.Regular)
.placeholderFont({
size: '12fp'
})
.height('40vp')
.margin({
left: '5vp',
right: '5vp'
})
.onChange((value: string) => {
console.info(value);
})
.onFocus(() => {
console.info('获取焦点');
})
Row() {
Button('取消', { type: ButtonType.Normal, stateEffect: true })
.fontColor(Color.White)
.fontSize('13fp')
.width('50%')
.backgroundColor('#dcdcdc')
.onClick(() => {
AppUpdateHelper.hideDialog();
})
.borderRadius({
bottomLeft: '5vp',
})
Button('确定', { type: ButtonType.Normal, stateEffect: true })
.fontColor(Color.White)
.fontSize('13fp')
.width('50%')
.backgroundColor('#fff13737')
.onClick(() => {
AppUpdateHelper.hideDialog();
})
.borderRadius({
bottomRight: '5vp'
})
}
.justifyContent(FlexAlign.SpaceBetween)
.width("100%")
.borderRadius({
bottomLeft: '5vp',
bottomRight: '5vp'
})
}
.alignItems(HorizontalAlign.Center)
.width('100%')
.backgroundColor(Color.White)
.borderRadius('5vp')
.margin({
top: '15vp'
})
}
.width('80%')
.borderRadius('5vp')
.backgroundColor(Color.White)
}
@Entry
@Component
struct Index {
private mDefaultTitle: string = "是否升级到1.0.5版本";
private mDefaultSubTitle: string = "新版本大小:6M";
private mDefaultUpdateContent: string = "1.全新升级,让您的体验更上一层楼,尽在本次产品升级中。\n2.超越旧版,全新升级,为您带来更出色的体验。\n3.HarmonyOS来了!“鸿”鹄志远,一举千里。承“蒙”厚爱,不负期待。\n4.每一次升级,都是对完美的追求。本次全新升级,更是如此。";
@State mTitleModel: TitleBar.Model = new TitleBar.Model()
.setOnLeftClickListener(async () => {
let a = await AppUpdateHelper.getVersionName();
let b = await AppUpdateHelper.getVersionCode();
promptAction.showToast({
message: `点击了左边返回按钮${a}-${b}`,
duration: 2000
})
})
.setTitleName("应用版本升级弹窗")
build() {
Column() {
TitleBar({ model: this.mTitleModel })
Column() {
Text("测试弹窗").onClick(() => {
AppUpdateHelper.showDialog({
dialogStyleEnum: DialogStyleEnum.STYLE_CUSTOM_ALL,
customView: () => {
builderCustomDialogInputView();
}
})
})
}
.justifyContent(FlexAlign.Center)
.width('100%')
.height('100%')
}
.height('100%')
}
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
- 51.
- 52.
- 53.
- 54.
- 55.
- 56.
- 57.
- 58.
- 59.
- 60.
- 61.
- 62.
- 63.
- 64.
- 65.
- 66.
- 67.
- 68.
- 69.
- 70.
- 71.
- 72.
- 73.
- 74.
- 75.
- 76.
- 77.
- 78.
- 79.
- 80.
- 81.
- 82.
- 83.
- 84.
- 85.
- 86.
- 87.
- 88.
- 89.
- 90.
- 91.
- 92.
- 93.
- 94.
- 95.
- 96.
- 97.
- 98.
- 99.
- 100.
- 101.
- 102.
- 103.
- 104.
- 105.
- 106.
- 107.
- 108.
- 109.
- 110.
- 111.
- 112.
- 113.
- 114.
- 115.
- 116.
- 117.
- 118.
- 119.
- 120.
- 121.
HarmonyOS
赞
收藏 0
回答 1
相关问题
HarmonyOS 如何使用全局的Builder
472浏览 • 1回复 待解决
HarmonyOS WrappedBuilder的使用。如何动态更新全局@Builder
1134浏览 • 1回复 待解决
HarmonyOS给Navigation绑定PageMap是,如果PageMap定义的是全局的builder,运行时会crash
639浏览 • 1回复 待解决
HarmonyOS taskpool使用crash
2235浏览 • 2回复 待解决
HarmonyOS 对于js Crash,有没有全局异常处理机制?
954浏览 • 1回复 待解决
可以全局定义一个@Builder方法布局,并进行使用吗?
636浏览 • 1回复 待解决
HarmonyOS APP发生crash之后如何上传crash日志并重启应用
1356浏览 • 1回复 待解决
HarmonyOS 全局带参builder调用bind(this)时如何传参?
1092浏览 • 1回复 待解决
HarmonyOS 如何通过一个全局builder弹出一个自定义全局弹窗
591浏览 • 1回复 待解决
HarmonyOS 支持获取应用的crash日志吗
535浏览 • 1回复 待解决
@Builder使用引用时异常
1316浏览 • 1回复 待解决
全局处理异常,对于发生的js crash进行全局统一管控,存在两点好处。
1332浏览 • 1回复 待解决
HarmonyOS使用 napi 调用封装的 quickjs crash
1006浏览 • 1回复 待解决
HarmonyOS 使用@builder和@builderParam时,@builder中的ui不会动态更新
1311浏览 • 1回复 待解决
#鸿蒙通关秘籍#在鸿蒙 NEXT 中如何使用全局 @Builder 方法来定义可复用的 UI 结构?
667浏览 • 1回复 待解决
HarmonyOS 想在builder中插入builder
483浏览 • 1回复 待解决
HarmonyOS 应用级全局弹框
987浏览 • 1回复 待解决
HarmonyOS 如何使用全局水印
471浏览 • 1回复 待解决
HarmonyOS builder 作为 builder 的参数传递
672浏览 • 1回复 待解决
全局 @Builder 和局部 @LocalBuilder 的区别,像“总部模板”和“分会场定制”?
117浏览 • 1回复 待解决
如何实现crash堆栈抓取、crash回调
2495浏览 • 1回复 待解决
应用开发时如何全局保存变量,在ets文件中使用
3259浏览 • 1回复 待解决
HarmonyOS 把.bindSheet()放在了Modifier里面,然后往里面传了一个全局的Builder。编译的时候是能通过的,但是运行时直接crash了,会报如下的错误
454浏览 • 1回复 待解决
HarmonyOS 如何实现应用全局换肤功能
562浏览 • 1回复 待解决
HarmonyOS 关于crash问题
1164浏览 • 1回复 待解决
崩溃问题需要如下写法,弹窗未显示是封装的弹窗有问题,建议排查下封装库