Input在Taro文档中展示的是单行输入框,而Textarea是多行输入框,其余的属性或者API都大同小异可以通用,例如:maxLength(最大长度),placeholder(默认文字展示,相当于Android EditText中的hint属性),type(输入字符的类型,text、number等),value(输入的内容展示),placeholderTextColor(默认文字的颜色),onInput(文字输入的监听)等。
Textarea Input而对于input,这里说一个我自己在开发过程中遇到的一个小障碍,以下两个场景:
1、如果是在页面全局中声明一个变量,
声明title在上面Textarea标签的onInput方法中的onChangeTitle方法即可写成如下:
修改标题的方法2、而当是一个数组或者列表有content属性,并且想要修改这个content的时候,按照(1)来这么写就不能完成相对应的数组或列表item的更改
声明的SELECTITEMS数组在这种情况下,修改content字段,需要多传入一个参数index(修改的item在数组中的下标),如下图
修改content的方法而在做这种方法的时候不能像Android 一样直接在方法onChangeContent(index,edit)中传参,应该写成上面Input标签中的onInput中的方法onChangeContent.bind(this, index),到这里又有了一个和Android 不同的地方,传参和处理方法中的参数顺序是相反的?在Taro中,对输入框控件进行监听的方法,tarojs的e(onChangeTitle中的e,onChangeContent中的edit)一定要放在后面。
那么上述中的index哪里来的?如下所示:
Taro中的数组的.map方法中,可以获取到value(item),index(即为item在数组中的下标)。可以借助查看Taro的.map源码来知悉:
Taro的.map方法源码
网友评论