HarmonyOS 鸿蒙Next 用弹出框组件SelectDialog时 radioContent如何赋值动态变量

发布于 1周前 作者 itying888 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 用弹出框组件SelectDialog时 radioContent如何赋值动态变量

用的是SelectDialog弹出框组件,但是radioContent 是写的死值,想做成动态的,怎么做?

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ohos-arkui-advanced-dialog-V5#selectdialog
 


更多关于HarmonyOS 鸿蒙Next 用弹出框组件SelectDialog时 radioContent如何赋值动态变量的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

参考:

[@Entry](/user/Entry)
[@Component](/user/Component)
struct Index {
  radioIndex = 0;
  radioContent1:Array<SheetInfo> = []
  dialogControllerList: CustomDialogController = new CustomDialogController({
    builder: SelectDialog({
      title: '文本标题',
      selectedIndex: this.radioIndex,
      confirm: {
        value: '取消',
        action: () => {},
      },
      radioContent: this.radioContent1
    }),
    customStyle: true,
    alignment: DialogAlignment.Bottom,
    autoCancel: false
  })
  aboutToAppear(): void {
    let a:SheetInfo = {
      title: '文本1',
      action: () => {
        this.radioIndex = 0
      }
    }
    let b:SheetInfo = {
      title: '文本2',
      action: () => {
        this.radioIndex = 1
      }
    }
    let c:SheetInfo = {
      title: '文本3',
      action:()=>{
        this.radioIndex = 2
      }
    }
    this.radioContent1 = [a,b,c]
  }
  build() {
    Row() {
      Stack() {
        Column() {
          Button("纯列表弹出框")
            .width(96)
            .height(40)
            .onClick(() => {
              this.dialogControllerList.open()
            })
        }.margin({ bottom: 300 })
      }.align(Alignment.Bottom)
      .width('100%').height('100%')
    }
    .backgroundImageSize({ width: '100%', height: '100%' })
    .height('100%')
  }
}<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>

更多关于HarmonyOS 鸿蒙Next 用弹出框组件SelectDialog时 radioContent如何赋值动态变量的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙系统中使用SelectDialog组件时,可以通过设置radioContent来定义选项内容。若要实现动态赋值,你需要先准备好动态变量,然后在创建或配置SelectDialog时将这些变量赋值给radioContent

以下是一个基本的实现思路:

  1. 定义动态变量:首先,定义一个列表(或其他数据结构)来存储你的动态选项内容。

  2. 创建SelectDialog:在代码中创建SelectDialog实例。

  3. 赋值radioContent:将动态变量的内容赋值给SelectDialogradioContent属性。这通常涉及将列表转换为ArrayList<String>或其他合适的类型,具体取决于SelectDialog的API要求。

  4. 显示Dialog:配置完成后,调用相关方法显示SelectDialog

示例代码(假设使用Java):

ArrayList<String> options = new ArrayList<>();
// 动态填充options
options.add("Option 1");
options.add("Option 2");

SelectDialog dialog = new SelectDialog(this);
dialog.setRadioContent(options);
dialog.show();

请确保你的动态变量在赋值给radioContent之前已经被正确初始化并填充了数据。

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

回到顶部