小程序
小游戏
企业微信
微信支付
扫描小程序码分享
删除下标为0的需要删除两次才能删除
5 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
.splice返回的是删除的数组值,重学JS吧
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice
多学学js基础吧
Component({
/**
* 组件的属性列表
*/
properties: {
maxNumber:{ // 最多上传文件数量
type: Number,
value: 1
},
uploadUrl: { // 上传接口url
type: String,
value: ''
uploadData: { // 上传时附带的其它参数
type: Object,
value: {}
fileName: { // 上传时文件对应的名称
value: 'file'
}
* 组件的初始数据
data: {
fileData: []
lifetimes: {
attached: function() {
// 在组件实例进入页面节点树时执行
detached: function() {
// 在组件实例被从页面节点树移除时执行
* 组件的方法列表
methods: {
// 选择图片
chooseFile: function(e){
wx.chooseImage({
count: this.maxNumber, // 上传文件数量(max:9)
complete: function(res) {
//this.upload(res.tempFilePaths, res.tempFiles);
// res.tempFiles :{path: '', size: 11}
}.bind(this),
})
// 删除
delete: function(e){
let index = e.target.dataset.index;
let data = this.data.fileData.splice(index, 1); // <--- 问题
this.setData({
fileData: data
// 回调数据
change: function(data){
this.triggerEvent('change', data, {})
upload: function(files = [], filesObject){
this.data.fileData.push({url: files[0]});
fileData: this.data.fileData
<view class="upload-box">
<view class="file-show-box" wx:for="{{fileData}}" wx:for-index="i" bindtap="showImg($event,i)" wx:for-key="{{i}}">
<image class="file-img" src="{{item.url}}"></image>
<view class="file-delete" bindtap="delete" data-index="{{i}}">X</view>
</view>
<view class="choose-file-btn" bindtap="chooseFile">
<text class="choose-file-text">最多{{maxNumber}}张</text>
整个代码片段
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
.splice返回的是删除的数组值,重学JS吧
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice
多学学js基础吧
Component({
/**
* 组件的属性列表
*/
properties: {
maxNumber:{ // 最多上传文件数量
type: Number,
value: 1
},
uploadUrl: { // 上传接口url
type: String,
value: ''
},
uploadData: { // 上传时附带的其它参数
type: Object,
value: {}
},
fileName: { // 上传时文件对应的名称
type: String,
value: 'file'
}
},
/**
* 组件的初始数据
*/
data: {
fileData: []
},
lifetimes: {
attached: function() {
// 在组件实例进入页面节点树时执行
},
detached: function() {
// 在组件实例被从页面节点树移除时执行
},
},
/**
* 组件的方法列表
*/
methods: {
// 选择图片
chooseFile: function(e){
wx.chooseImage({
count: this.maxNumber, // 上传文件数量(max:9)
complete: function(res) {
//this.upload(res.tempFilePaths, res.tempFiles);
// res.tempFiles :{path: '', size: 11}
}.bind(this),
})
},
// 删除
delete: function(e){
let index = e.target.dataset.index;
let data = this.data.fileData.splice(index, 1); // <--- 问题
this.setData({
fileData: data
})
},
// 回调数据
change: function(data){
this.triggerEvent('change', data, {})
},
upload: function(files = [], filesObject){
this.data.fileData.push({url: files[0]});
this.setData({
fileData: this.data.fileData
})
}
}
})
<view class="upload-box">
<view class="file-show-box" wx:for="{{fileData}}" wx:for-index="i" bindtap="showImg($event,i)" wx:for-key="{{i}}">
<image class="file-img" src="{{item.url}}"></image>
<view class="file-delete" bindtap="delete" data-index="{{i}}">X</view>
</view>
<view class="choose-file-btn" bindtap="chooseFile">
<text class="choose-file-text">最多{{maxNumber}}张</text>
</view>
</view>
整个代码片段