Rumah  >  Soal Jawab  >  teks badan

javascript - Bagaimanakah pemilih program kecil mendapat nilai objArray?

Komponen pemilih program kecil, anda dapat melihat bahawa terdapat jenis objArray dalam demo, tetapi ia tidak digunakan Sekarang saya mempunyai set objArray yang perlu saya gunakan, tetapi ia tidak boleh dipaparkan seperti biasa :

Pautan demo program mini: pemetik

wxml:

<picker bindchange="bindPickerChange" value="{{index}}" range="{{objectArray}}">
    <view class="picker">
      当前选择:{{objectArray[index]}}
    </view>
</picker>

js:

Page({
  data: {
    objectArray: [
      {
        id: 0,
        name: '美国'
      },
      {
        id: 1,
        name: '中国'
      },
      {
        id: 2,
        name: '巴西'
      },
      {
        id: 3,
        name: '日本'
      }
    ]
  },
  bindPickerChange: function(e) {
    console.log('picker发送选择改变,携带值为', e.detail.value)
    this.setData({
      index: e.detail.value
    })
  }
})

Dalam kes ini, pilihan drop-down yang dipaparkan ialah [objek Objek], dan perkara yang sama dipaparkan pada halaman selepas pemilihan Sekarang saya mahu senarai juntai bawah memaparkan nilai dalam nama, dan kemudian mengetahui id yang dipilih. Saya benar-benar tidak tahu bagaimana untuk melaksanakannya. . .

阿神阿神2674 hari yang lalu1184

membalas semua(2)saya akan balas

  • 我想大声告诉你

    我想大声告诉你2017-06-26 10:56:51

    Sepatutnya boleh menggunakan atribut ini Kod yang diubah suai adalah seperti berikut:

    <picker bindchange="bindPickerChange" value="{{index}}" range-key="name" range="{{objectArray}}">
        <view class="picker">
          当前选择:{{objectArray[index].name}}
        </view>
    </picker>

    Kemas kini1:

    Page({
      data: {
        objectArray: [
          {
            id: 0,
            name: '美国'
          },
          {
            id: 1,
            name: '中国'
          },
          {
            id: 2,
            name: '巴西'
          },
          {
            id: 3,
            name: '日本'
          }
        ]
      },
      bindPickerChange: function(e) {
        console.log('picker发送选择改变,携带值为', e.detail.value)
        var index = e.detail.value;
        var currentId = this.data.objectArray[index].id; // 这个id就是选中项的id
        this.setData({
          index: e.detail.value
        })
      }
    })

    balas
    0
  • ringa_lee

    ringa_lee2017-06-26 10:56:51

    Tambah range-key='obj.item', sebagai contoh

    <picker bindchange="bindPickerChange" value="{{index}}" range-key="name" range="{{objectArray}}">
        <view class="picker">
          当前选择:{{objectArray[index].name}}
        </view>
    </picker

    balas
    0
  • Batalbalas