尝试解决选人问题

This commit is contained in:
caoqianming 2020-12-08 17:59:34 +08:00
parent 81b9647dce
commit 38f7bdfe8f
5 changed files with 66 additions and 79 deletions

View File

@ -14,7 +14,6 @@ Component({
*/
methods: {
delete(res) {
console.log(res)
let index = res.currentTarget.id
let list = this.data.list
list.splice(index, 1)

View File

@ -1,7 +1,7 @@
<view class='container'>
<view class='scroll-wrapper'>
<scroll-view scroll-x style='scroll'>
<text id='{{index}}' class='text' wx:for='{{list}}' wx:key='{{index}}' bindtap='delete'>{{item.name}}</text> </scroll-view>
<text id='{{index}}' class='text' wx:for='{{list}}' wx:key="index" bindtap='delete'>{{item.name}}</text></scroll-view>
</view>
<text class='btn' bindtap='confirm'>确定</text>
</view>

View File

@ -34,7 +34,6 @@ Page({
success: res => {
if (res.statusCode === 200) {
let list = res.data.data
console.log(list)
this.setData({
currentList: list,
originalList:list
@ -45,12 +44,9 @@ Page({
},
clickItem(res) {
console.log(res)
let index = res.currentTarget.id;
let item = this.data.currentList[index]
console.log("item", item)
if (!item.isPeople) {
//children的长度为0时请求服务器
if (item.children.length === 0) {
@ -60,6 +56,7 @@ Page({
this.setData({
currentList: item.children
})
}
//将当前的索引存入索引目录中。索引多一个表示目录多一级
@ -70,7 +67,8 @@ Page({
indexList: indexes
})
//清空上次选中的元素列表并设置上一层的选中状态给lastTimeSelect
this.setLastTimeSelectList();
// this.setLastTimeSelectList();
}
},
@ -100,7 +98,8 @@ Page({
})
}
//清空上次选中的元素列表并设置上一层的选中状态给lastTimeSelect
this.setLastTimeSelectList();
//this.setLastTimeSelectList();
}
},
@ -126,7 +125,6 @@ Page({
success: res => {
if (res.statusCode === 200) {
let list = res.data.data
console.log(res.list)
this.setData({
currentList: list
})
@ -198,12 +196,10 @@ Page({
this.setData({
originalList: originalList
})
console.log("originalList", originalList)
},
//选框变化回调
checkChange(res) {
console.log(res)
let values = res.detail.value
let selectItems = []
//将值取出拼接成 idname 格式
@ -211,8 +207,6 @@ Page({
let arrs = value.split(",")
selectItems.push({ id: arrs[0], name: arrs[1] })
})
console.log("selectItems", selectItems)
console.log("lastTimeSelect", this.lastTimeSelect)
//将本次选择的与上次选择的比对本次比上次多说明新增了本次比上次少说明删除了找出被删除的那条数据在footer中也删除
if (selectItems.length > this.lastTimeSelect.length) {
@ -235,7 +229,6 @@ Page({
})
if (!flag) {
diffItem = item
console.log("diff=", item)
}
})
//找出被删除的元素在 selectList 中的位置
@ -253,19 +246,16 @@ Page({
selectList: list
})
}
console.log("selectList", this.data.selectList)
//更新 currentList 选中状态并重新挂载在数据树上,以保存选择状态
this.updateCurrentList(this.data.currentList, this.data.selectList)
},
//footer点击删除回调
footerDelete(res) {
console.log(res)
this.setData({
selectList: res.detail.selectList
})
console.log('selectList', this.data.selectList)
this.updateCurrentList(this.data.currentList, res.detail.selectList)
},
@ -280,7 +270,6 @@ Page({
wx.navigateBack({
delta: 1
})
console.log("selectdone", selectList)
},
//更新 currentList 并将更新后的列表挂载在数据树上
@ -291,13 +280,12 @@ Page({
selectids.push(selectList[i]['id'])
}
for (var i = 0; i < currentList.length; i++) {
if (selectids.indexOf(currentList[i]['id'].toString())>=0){
currentList[i]['checked']=true
if (currentList[i].isPeople && selectids.indexOf(currentList[i]['id'].toString())>=0){
currentList[i]['checked'] = true
}else{
currentList[i]['checked'] = false
}
}
console.log(currentList)
this.setData({
currentList: currentList
})

View File

@ -5,7 +5,7 @@
<view class='people-wrapper'>
<scroll-view scroll-y class='scrollview'>
<checkbox-group bindchange="checkChange">
<view class='item' wx:for='{{currentList}}' wx:key='{{item.id}}'>
<view class='item' wx:for='{{currentList}}' wx:key='index'>
<checkbox checked='{{item.checked}}' value='{{item.id + "," + item.name}}' wx:if='{{item.isPeople}}'> </checkbox>
<view id='{{index}}' class='item-content' bindtap='clickItem'>
<image class='img' wx:if='{{!item.isPeople}}' src='../images/part.png'></image>

View File

@ -1,59 +1,59 @@
{
"description": "项目配置文件。",
"setting": {
"urlCheck": false,
"es6": true,
"enhance": false,
"postcss": true,
"preloadBackgroundData": false,
"minified": true,
"newFeature": true,
"coverView": true,
"nodeModules": true,
"autoAudits": false,
"showShadowRootInWxmlPanel": true,
"scopeDataCheck": false,
"uglifyFileName": false,
"checkInvalidKey": true,
"checkSiteMap": true,
"uploadWithSourceMap": true,
"compileHotReLoad": false,
"useMultiFrameRuntime": false,
"useApiHook": true,
"babelSetting": {
"ignore": [],
"disablePlugins": [],
"outputPath": ""
},
"useIsolateContext": true,
"useCompilerModule": true,
"userConfirmedUseCompilerModuleSwitch": false,
"packNpmManually": false,
"packNpmRelationList": []
},
"compileType": "miniprogram",
"libVersion": "2.9.4",
"appid": "wx5c39b569f01c27db",
"projectname": "aqyj",
"isGameTourist": false,
"simulatorType": "wechat",
"simulatorPluginLibVersion": {},
"condition": {
"search": {
"current": -1,
"list": []
},
"conversation": {
"current": -1,
"list": []
},
"game": {
"currentL": -1,
"list": []
},
"miniprogram": {
"current": -1,
"list": []
}
}
"description": "项目配置文件。",
"setting": {
"urlCheck": false,
"es6": true,
"postcss": true,
"minified": true,
"newFeature": true,
"coverView": true,
"nodeModules": true,
"autoAudits": false,
"showShadowRootInWxmlPanel": true,
"scopeDataCheck": false,
"checkInvalidKey": true,
"checkSiteMap": true,
"uploadWithSourceMap": true,
"babelSetting": {
"ignore": [],
"disablePlugins": [],
"outputPath": ""
},
"useIsolateContext": true,
"useCompilerModule": false,
"userConfirmedUseCompilerModuleSwitch": false,
"enhance": false,
"preloadBackgroundData": false,
"uglifyFileName": false,
"compileHotReLoad": false,
"useMultiFrameRuntime": false,
"useApiHook": true,
"packNpmManually": false,
"packNpmRelationList": []
},
"compileType": "miniprogram",
"libVersion": "2.9.4",
"appid": "wx5c39b569f01c27db",
"projectname": "aqyj",
"isGameTourist": false,
"simulatorType": "wechat",
"simulatorPluginLibVersion": {},
"condition": {
"search": {
"current": -1,
"list": []
},
"conversation": {
"current": -1,
"list": []
},
"game": {
"currentL": -1,
"list": []
},
"miniprogram": {
"current": -1,
"list": []
}
}
}