HarmonyOS 鸿蒙Next Button 或 TextInput 等的 id 对应的控件 如何调用呢

HarmonyOS 鸿蒙Next Button 或 TextInput 等的 id 对应的控件 如何调用呢

Button($r(‘app.string.add’)) .id(‘add’) .width(CommonConstants.WIDTH_PERCENT_20) .height($r(‘app.float.login_btn_height’)) .margin({ top: $r(‘app.float.register_btn_margin_top’) }) .borderRadius($r(‘app.float.login_btn_border_radius’)) .fontSize($r(‘app.float.text_input_font_size’)) .fontWeight(CommonConstants.LOGIN_TEXT_FONT_WEIGHT) // .enabled(isLoginButtonClickable(this.userName, this.password)) // .fontColor(isLoginButtonClickable(this.userName, this.password) // ? Color.White // : $r(‘app.color.login_font_normal’)) // .backgroundColor(isLoginButtonClickable(this.userName, this.password) // ? $r(‘app.color.login_btn_enabled’) // : $r(‘app.color.login_btn_normal’)) .onClick(() => { }

比如我想在别的点击按钮,则隐藏当前.id(‘add’) 为add的 按钮

this.id(“add”).visibility(Visibility.None); //隐藏新增按钮 这样会崩溃啊 望赐教


更多关于HarmonyOS 鸿蒙Next Button 或 TextInput 等的 id 对应的控件 如何调用呢的实战教程也可以访问 https://www.itying.com/category-93-b0.html

6 回复

更多关于HarmonyOS 鸿蒙Next Button 或 TextInput 等的 id 对应的控件 如何调用呢的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


开发者您好,目前不支持通过Id设置组件隐藏,组件标识提供以下接口,可参考以下文档:https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/arkui-ts/ts-universal-attributes-component-id.md#sendtouchevent9

非常感谢提醒,

基本信息

这是深色代码主题:

```\darkcode 示例代码 ```

正常代码:

``` 示例代码 ```

有要学HarmonyOS AI的同学吗,联系我:https://www.itying.com/goods-1206.html

@State isAdd: boolean = false; //是否隐藏新增按钮

.visibility(this.isAdd?Visibility.None:Visibility.Visible)

根据需要修改isAdd的boolean,则按钮就会相应的实现隐藏和显示了

在HarmonyOS(鸿蒙)系统中,对于UI控件如Next Button或TextInput等的id调用,通常是通过XML布局文件中定义的id与JavaScript或eTS(Extensible TypeScript)代码中的引用进行关联来实现的。

在XML布局文件中,你可以为每个控件分配一个唯一的id,例如:

<Button
    ohos:id="$+id:next_button"
    ohos:width="match_parent"
    ohos:height="wrap_content"
    ohos:text="Next" />

<TextInput
    ohos:id="$+id:text_input"
    ohos:width="match_parent"
    ohos:height="wrap_content" />

在JavaScript或eTS代码中,你可以通过this.$elementthis.$refs(取决于具体框架和版本)来引用这些控件。例如,在eTS中,你可以这样调用:

@Entry
@Component
struct MyComponent {
    @State message: string = '';

    build() {
        Column() {
            Button(this.$refs.nextButton)
                .onClick(() => {
                    console.log('Next button clicked');
                });
            TextInput(this.$refs.textInput)
                .value(this.message)
                .onInput((value) => {
                    this.message = value;
                });
        }
    }
}

注意,这里的this.$refs.nextButtonthis.$refs.textInput是基于eTS框架的示例,实际代码中可能需要根据具体框架的API进行调整。

如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html

回到顶部