谷歌网页截长屏:F12 -> ctrl+shift+p -> capture full size screenshot
flex-grow和flex-shrink
修改placeholder的样式
列表循环时,wx-key的使用
父子组件传值总结:
1、父向子传递参数时,在父页面子组件上写入属性toSon然后在子组件中的properties中接收toSon就可以在组件拿到父组件的参数
![在这里插入图片描述](https://img-blog.csdnimg.cn/2021011211025876.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM4Mjc0MTE5,size_16,color_FFFFFF,t_70
2、子组件向父组件传递参数时,在子组件页面上定义点击事件changeParentValue,在js页面定义事件,然后使用this.triggerEvent(“ChangeParent”,{params:‘1’})将子组件的参数传给父组件;父组件将子组件中ChangeParent这个函数绑定到属性中,即父组件中写入
,在父组件js中定义函数handle,就可以到子组件传递过来的参数了。
//a.js中
export default{ //(最常使用的方法,加入default关键字代表在import时可以使用任意变量名并且不需要花括号{})
a: function(){
console.log(666)
}
}
export function(){ //导出函数
}
export {newA as a ,b,c} // 解构赋值语法(as关键字在这里表示将newA作为a的数据接口暴露给外部,外部不能直接访问a)
//b.js中
import a from ‘…’ //import常用语法(需要export中带有default关键字)可以任意指定import的名称
import {…} from ‘…’ // 基本方式,导入的对象需要与export对象进行解构赋值。
import a as biubiubiu from ‘…’ //使用as关键字,这里表示将a代表biubiubiu引入(当变量名称有冲突时可以使用这种方式解决冲突)
import {a as biubiubiu,b,c} //as关键字的其他使用方法
这两种方法都可以导出js文件中的函数方法,第一种是可以导出很多,第二种只能一个一个导出,一个js文件只能写一种导出方式
导出的时候
导入的时候
使用promise
// 获取列表数据
getList(){
// debugger
var that=this
wx.getStorage({
key:'cookies',
success:function(res){
var cookies = res.data;
getCurrentLocation(data=>{
var param={
lat: data.latitude,
lng: data.longitude,
// lat: 31.23692,
// lng: 121.49971,
pageNum: 1,
pageSize: 10,
searchType: 1
}
var oemList = new Promise((resolve, reject) => {
app.wxRequest(app.globalData.requestUrl+'codemanager/needpost',"POST", cookies,param, resultOem=>{
if(resultOem.data.data!=null){
// console.log(resultOem.data);
resolve(resultOem.data.data.slice(0,5));
}else{
resolve([]);
}
})
})
// 1、若是一个接口
// oemList.then(res=>{
// console.log(res);
// })
var pollingList = new Promise((resolve, reject) => {
app.wxRequest(app.globalData.requestUrl+'codemanager/needinspect',"POST", cookies,param, resultPolling=>{
if(resultPolling.data.data!=null){
resolve(resultPolling.data.data.slice(0,5));
}else{
resolve([]);
}
})
})
// 2、若是几个接口同时进行
// Promise.all([oemList,pollingList]).then((result) => {
// console.log("2个接口返回",result);
// var data=result[0].concat(result[1]);
// // console.log("拼接",data);
// for(var i=0;i<5;i++){
// data[i].desc="待贴牌,请检查二维码进行贴牌"
// data[i].type="贴牌"
// }
// for(var i=5;i<10;i++){
// data[i].desc="待巡检,请检查二维码进行巡检"
// data[i].type="巡检"
// }
// that.setData({
// taskList:data
// });
// }).catch((error) => {
// console.log(error)
// })
oemList.then(resOem=>{
pollingList.then(resPolling=>{
if(resOem.length==0){
for(var i=0;i<5;i++){
resPolling[i].desc="待巡检,请检查二维码进行巡检"
resPolling[i].type="巡检"
}
that.setData({
taskList:resPolling
})
}
if(resPolling.length==0){
for(var i=0;i<5;i++){
resOem[i].desc="待贴牌,请检查二维码进行贴牌"
resOem[i].type="贴牌"
}
that.setData({
taskList:resOem
})
}
if(resOem.length!=0&&resPolling.length!=0){
var data=resOem.concat(resPolling);
for(var i=0;i<5;i++){
data[i].desc="待贴牌,请检查二维码进行贴牌"
data[i].type="贴牌"
}
for(var i=5;i<10;i++){
data[i].desc="待巡检,请检查二维码进行巡检"
data[i].type="巡检"
}
}
})
})
})
}
})
}
// 获取列表数据
getList(){
// debugger
var that=this
wx.getStorage({
key:'cookies',
success:function(res){
var cookies = res.data;
getCurrentLocation(data=>{
var param={
lat: data.latitude,
lng: data.longitude,
// lat: 31.23692,
// lng: 121.49971,
pageNum: 1,
pageSize: 5,
searchType: 1
}
var oemList = new Promise((resolve, reject) => {
app.wxRequest(app.globalData.requestUrl+'codemanager/needpost',"POST", cookies,param, resultOem=>{
resolve(resultOem.data.data || []);
})
})
// 1、若是一个接口
// oemList.then(res=>{
// console.log(res);
// })
var pollingList = new Promise((resolve, reject) => {
app.wxRequest(app.globalData.requestUrl+'codemanager/needinspect',"POST", cookies,param, resultPolling=>{
resolve(resultPolling.data.data || []);
})
})
// 2、若是几个接口同时进行
Promise.all([oemList,pollingList]).then((result) => {
for(var item of result[0]){
item.desc="待贴牌,请检查二维码进行贴牌"
item.type="贴牌"
}
for(var item of result[1]){
item.desc="待巡检,请检查二维码进行巡检"
item.type="巡检"
}
var data=result[0].concat(result[1]);
that.setData({
taskList:data
});
}).catch((error) => {
console.log(error)
})
})
}
})
},
设置动态的值setData
this.setData({
'dataParam.x':data.latitude,
'dataParam.y':data.longitude,
'dataParam.description':formData.data.beizhu,
'dataParam.scenePhoto':formData.data.banner,
'dataParam.passFlag':formData.data.passFlag
})