You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
92 lines
1.9 KiB
92 lines
1.9 KiB
Page({
|
|
data: {
|
|
students: [],
|
|
modalVisible: false,
|
|
modalVisible1:false,
|
|
foundStudent: null, // 存储查询到的学生
|
|
searchValue: ''
|
|
},
|
|
|
|
onLoad() {
|
|
const app = getApp();
|
|
let students = app.globalData.students || []; // 获取全局数据
|
|
|
|
// 按照id排序 从小到大
|
|
students = students.sort((a, b) => a.id - b.id)
|
|
|
|
this.setData({
|
|
students: students
|
|
});
|
|
|
|
// console.log("按照id排序", this.data.students);
|
|
},
|
|
|
|
// 发现图标被点击
|
|
onIconClick() {
|
|
// console.log("图标被点击了!");
|
|
wx.navigateTo({
|
|
url: '/pages/somePage/somePage', // 跳转到某个页面
|
|
});
|
|
},
|
|
|
|
// 打开弹窗
|
|
openModal() {
|
|
this.setData({
|
|
modalVisible: true
|
|
});
|
|
},
|
|
|
|
// 监听输入框内容
|
|
onInput(event) {
|
|
this.setData({
|
|
searchValue: event.detail.value
|
|
});
|
|
},
|
|
|
|
onSearch() {
|
|
// console.log("点击查询按钮");
|
|
const { searchValue, students } = this.data;
|
|
|
|
// 判断输入是否为数字
|
|
const isNumeric = !isNaN(searchValue) && searchValue.trim() !== '';
|
|
|
|
// 查找学生
|
|
const foundStudent = students.find(student => {
|
|
return isNumeric ? student.id === parseInt(searchValue) : student.name === searchValue;
|
|
});
|
|
|
|
// 更新查询结果
|
|
this.setData({
|
|
foundStudent: foundStudent, // 保存找到的学生
|
|
searchValue: "",
|
|
modalVisible: false // 关闭弹窗
|
|
});
|
|
|
|
// 可以在此处添加一个提示
|
|
if (foundStudent) {
|
|
// console.log("找到的学生:", foundStudent);
|
|
} else {
|
|
this.setData({
|
|
modalVisible1:true
|
|
});
|
|
}
|
|
},
|
|
|
|
// 返回总人数页面
|
|
closeFound(){
|
|
this.setData({
|
|
foundStudent: null
|
|
})
|
|
},
|
|
|
|
closeModal(){
|
|
this.setData({
|
|
foundStudent: null,
|
|
modalVisible: false,
|
|
modalVisible1: false
|
|
});
|
|
}
|
|
|
|
});
|
|
|