如下代码,当我在blank中输入文本的时候,我希望只有当我输入的内容和左边meaning显示的内容一模一样才显示“完全相同!”。现在的毛病是,无论我输入什么,都会显示“完全相同!”。请指正。
// index.js
const defaultAvatarUrl = 'https://mmbiz.qpic.cn/mmbiz/icTdbqWNOwNRna42FI242Lcia07jQodd2FJGIYQfG0LAJGFxM4FbnQP6yfMxBgJ0F3YRqJCJ1aPAK2dQagdusBZg/0'
Page({
data: {
isShowUserName: false,
userInfo:null,
textInputValue:"",
openid:"",
wordlist: [
{ word: 'apple', meaning: '苹果',blank:'' },
{ word: 'banana', meaning: '香蕉',blank:'' },
{ word: 'take care of', meaning: '照顾',blank: ''},
]
},
updateName: function(e) {
let index = e.currentTarget.dataset.index; // 假设你在wxml中通过data-index绑定了数组的索引
let newValue = e.detail.value; // e.detail.value是用户在input中输入的新值
// 使用ES6的模板字符串来动态更新数组中的值
this.setData({
[`wordlist[${index}].blank`]: newValue // 这将更新指定索引位置的对象的name属性
});
if([`wordlist[${index}].blank`].value===[`wordlist[${index}].meaning`].value)
{
console.log("完全相同!");
}
}
})
//index.wxml
<view wx:for="{{wordlist}}" wx:key="index">
<view class="myRow">
<text class="myWord">{{item.word}}</text> <text class="myMeaning">{{item.meaning}}</text> <input class="myBlank" data-index="{{index}}" bindinput="updateName" value="{{item.blank}}"/>
</view>
</view>