feat:选择文字

This commit is contained in:
2025-06-30 17:14:03 +08:00
parent 23ad49d333
commit 654afced6f
10 changed files with 129 additions and 39 deletions
@@ -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,
});
},
},
});