feat:选择文字
This commit is contained in:
@@ -14,20 +14,20 @@ Component({
|
||||
type: Number,
|
||||
value: 0,
|
||||
},
|
||||
selectedWords: {
|
||||
type: Array,
|
||||
value: [],
|
||||
},
|
||||
},
|
||||
/**
|
||||
* 组件的初始数据
|
||||
*/
|
||||
data: {
|
||||
wordList: WORDS,
|
||||
selectedWords: [],
|
||||
},
|
||||
lifetimes: {
|
||||
ready() {
|
||||
// setTimeout(() => {
|
||||
// console.log('111');
|
||||
// this.selectComponent('#tabs').resize();
|
||||
// }, 1000);
|
||||
console.log('selectedWords', this.data.selectedWords);
|
||||
},
|
||||
},
|
||||
/**
|
||||
@@ -38,8 +38,37 @@ Component({
|
||||
this.triggerEvent('onClose');
|
||||
},
|
||||
|
||||
onChange() {
|
||||
this.triggerEvent('onChange', { selectedWords: this.data.selectedWords });
|
||||
},
|
||||
|
||||
onTabChange(e: WechatMiniprogram.CustomEvent) {
|
||||
this.setData({ currentTab: e.detail });
|
||||
},
|
||||
|
||||
onWordClick(e: WechatMiniprogram.TouchEvent) {
|
||||
const { word } = e.currentTarget.dataset;
|
||||
const { selectedWords } = this.data;
|
||||
let newSelectedWords = selectedWords as string[];
|
||||
|
||||
// 如果是已选中的文字,直接取消选中
|
||||
if (newSelectedWords.includes(word)) {
|
||||
newSelectedWords = newSelectedWords.filter((item) => item !== word);
|
||||
} else {
|
||||
// 如果是未选中的文字,先判断是否已选满6个
|
||||
if (newSelectedWords.length >= 6) {
|
||||
wx.showToast({
|
||||
title: '最多选择6个字',
|
||||
icon: 'none',
|
||||
});
|
||||
return;
|
||||
}
|
||||
newSelectedWords = [...newSelectedWords, word];
|
||||
}
|
||||
|
||||
this.setData({
|
||||
selectedWords: newSelectedWords,
|
||||
});
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user