1、popup组件placement设置top没有生效?
可以用offset属性将popup往下边偏移一下 来规避
2、组件携带自定义参数的接口是哪个?
customProperty
customProperty(name: string, value: Optional<Object>)
设置组件的自定义属性。自定义组件不支持设置自定义属性。
卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。
3、HarmonyOS 如何主动隐藏输入弹框?
可以给外层容器添加个点击事件,在点击事件中调用controller.stopEditing()方法移除输入框焦点即可隐藏键盘
@Entry
@Component
struct TextInputExample {
controller: TextInputController = new TextInputController();
build() {
Column() {
TextInput({ controller: this.controller }) }
.width('100%') .height('100%')
.onClick(()=>{ this.controller.stopEditing();
})
}
}
4、HarmonyOS webview字体大小设置?
使用defaultFontSize设置网页的默认字体大小,参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-basic-components-web-V5#ZH-CN_TOPIC_0000001930757269__defaultfontsize9
5、HarmonyOS promptAction.openCustomDialog 弹窗如何宽度设置全屏宽?
目前promptAction.openCustomDialog 设置width('100%'), 系统会默认所在窗口宽度 - 左右 16vp
demo:
import promptAction from '@ohos.promptAction';
import display from '@ohos.display'
@Entry
@Component
struct Index {
@State message: string = 'Hello World';
build() {
Button('点我').onClick(() => {
DialogUtils.show(this)
})
}
}
@Component
export struct TestComponent {
build() {
Row() {
Text('弹窗内组件1弹窗内组件2弹窗内组件3弹窗内组件4弹窗内组件5弹窗内组件')
.height(200)
.textAlign(TextAlign.Center)
}
}
}
export class DialogUtils {
public static createOption(builder: CustomBuilder) {
const option: promptAction.CustomDialogOptions = {
builder: builder,
isModal: true,
alignment: DialogAlignment.Bottom,
cornerRadius: 0,
backgroundColor: Color.Red,
width: "110%",
autoCancel: false,
}
return option
}
public static show(context: Object,) {
promptAction.openCustomDialog(DialogUtils.createOption(buildComp.bind(context)))
}
}
@Builder
function buildComp() {
TestComponent()
}