HarmonyOS textpicker组件的使用咨询

文字选择器 textpicker根据json数组的三级联动 ,绑定对应的字段值以以下json为例,range怎么绑定对象中的name。

[ 
  { 
    "name":"北京市", 
    "zipcode":"110000", 
    "city":{ 
      "name":"北京市", 
      "zipcode":"110100", 
      "district":[ 
        { 
          "name":"东城区", 
          "zipcode":"110101" 
        }, 
        { 
          "name":"西城区", 
          "zipcode":"110102" 
        } 
      ] 
    } 
  } 
]
HarmonyOS
2024-09-02 12:39:35
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get

需要将json转换为示例中的格式。

示例demo:

// xxx.ets 
class bottom { 
  bottom:number = 50 
} 
let bott:bottom = new bottom() 
@Entry 
@Component 
struct TextPickerExample { 
  private select: number = 1 
  private apfruits: string[] = ['apple1', 'apple2', 'apple3', 'apple4'] 
  private orfruits: string[] = ['orange1', 'orange2', 'orange3', 'orange4'] 
  private pefruits: string[] = ['peach1', 'peach2', 'peach3', 'peach4'] 
  private multi: string[][] = [this.apfruits, this.orfruits, this.pefruits] 
  private cascade: TextCascadePickerRangeContent[] = [ 
    { 
      text: '辽宁省', 
      children: [{ text: '沈阳市', children: [{ text: '沈河区' }, { text: '和平区' }, { text: '浑南区' }] }, 
        { text: '大连市', children: [{ text: '中山区' }, { text: '金州区' }, { text: '长海县' }] }] 
    }, 
    { 
      text: '吉林省', 
      children: [{ text: '长春市', children: [{ text: '南关区' }, { text: '宽城区' }, { text: '朝阳区' }] }, 
        { text: '四平市', children: [{ text: '铁西区' }, { text: '铁东区' }, { text: '梨树县' }] }] 
    }, 
    { 
      text: '黑龙江省', 
      children: [{ text: '哈尔滨市', children: [{ text: '道里区' }, { text: '道外区' }, { text: '南岗区' }] }, 
        { text: '牡丹江市', children: [{ text: '东安区' }, { text: '西安区' }, { text: '爱民区' }] }] 
    } 
  ] 
 
  build() { 
    Column() { 
 
      TextPicker({ range: this.apfruits, selected: this.select }) 
        .onChange((value: string | string[], index: number | number[]) => { 
          console.info('Picker item changed, value: ' + value + ', index: ' + index) 
        }).margin(bott) 
 
      TextPicker({ range: this.multi }) 
        .onChange((value: string | string[], index: number | number[]) => { 
          console.info('TextPicker 多列:onChange ' + JSON.stringify(value) + ', ' + 'index: ' + JSON.stringify(index)) 
        }).margin(bott) 
 
      TextPicker({ range: this.cascade }) 
        .onChange((value: string | string[], index: number | number[]) => { 
          console.info('TextPicker 多列联动:onChange ' + JSON.stringify(value) + ', ' + 'index: ' + JSON.stringify(index)) 
        }) 
    } 
  } 
}

参考链接:

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-basic-components-textpicker-V5#ZH-CN_TOPIC_0000001893368953__%E7%A4%BA%E4%BE%8B

分享
微博
QQ
微信
回复
2024-09-02 16:01:25
相关问题
HarmonyOS textpicker使用问题
281浏览 • 1回复 待解决
使用TextPicker控件显示异常问题
841浏览 • 1回复 待解决
HarmonyOS 联动组件咨询
302浏览 • 1回复 待解决
HarmonyOS RelativeContainer 组件咨询
435浏览 • 1回复 待解决
HarmonyOS OhAudio使用咨询
242浏览 • 1回复 待解决
HarmonyOS @ohos/protobufjs 使用咨询
513浏览 • 1回复 待解决
HarmonyOS getRawFileContent使用问题咨询
616浏览 • 1回复 待解决
HarmonyOS taskpool使用问题咨询
185浏览 • 1回复 待解决
HarmonyOS 使用worker和TaskPool咨询
172浏览 • 1回复 待解决
requestInStream使用问题咨询
775浏览 • 1回复 待解决
HarmonyOS 数据表格组件咨询
439浏览 • 1回复 待解决
HarmonyOS web组件中onalert函数咨询
202浏览 • 1回复 待解决
HarmonyOS Web组件开发问题咨询
301浏览 • 1回复 待解决
HarmonyOS PinchGesture用法咨询
364浏览 • 1回复 待解决
HarmonyOS NodeContainer咨询
376浏览 • 1回复 待解决