收藏
回答

列表渲染后,input绑定的value值应该怎么区分?

最近有个问题挺困扰,网上找了半天还是没有找到答案。

如有一个列表checkItemList = ['A', 'B', 'C', 'D']

<block wx:for="{{ checkItemList }}" wx:key="index">

    <input id="{{ 'item' + index }}" value="{{ }}" bindinput="bindInput"></input>

</block>

列表渲染后,每一项都绑定一个value,但是这个value值应该怎么区分。如果写成{{ 'item' + index }},他会直接取值成itemA、itemB。。。有没有大佬解答一下。不胜感激!

回答关注问题邀请回答
收藏

1 个回答

  • 纸玫瑰
    纸玫瑰
    2022-09-14

    <input id="{{ 'item' + index }}" value="{{ item}}" bindinput="bindInput" data-index="{{index}}"></input>


    bindInput(e){

    let index = e.currentTarget.dataset.index

    }

    这个INDEX就是告诉你是哪个input输入的

    2022-09-14
    有用
    回复 4
    • 浩子
      浩子
      2022-09-14
      老哥正解
      2022-09-14
      回复
    • Destroy、
      Destroy、
      2022-09-14
      这个我知道,通过id的值也可以区分。因为我有一个功能是要智能填写,列表渲染出来的每一项,智能填写的内容是不一样的。那么这个vaule值绑定的变量名就得不一样。不然我setData渲染的话没法区分。
      2022-09-14
      回复
    • 纸玫瑰
      纸玫瑰
      2022-09-14回复Destroy、
      setData的时候   数组去setData就行了

      let value = 'checkItemList[' + index + ']'
      this.setData({
           [value]: 123
      })
      2022-09-14
      回复
    • Destroy、
      Destroy、
      2022-09-14回复纸玫瑰
      我懂你的意思了。非常感谢!
      2022-09-14
      回复
登录 后发表内容