js根据条件删除对象数组中的元素
this.EngineeringTable.splice( this.EngineeringTable.findIndex(item=>item.ConstructionAmount == NaN),1)
改变数据对象里面的属性名
this.MaterialTable = JSON.parse(JSON.stringify(this.MaterialTable).replace(/id/g, "constructionPriceId"));
验证重复元素,有重复返回true;否则返回false
isRepeat(arr) {
var hash = {};
for (var i in arr) {
if (hash[arr[i]]) {
return true;
}
hash[arr[i]] = true;
}
return false;
},
批量修改数组对象的属性名
this.listArry =listArrt.map(v=>{
return{latitude:v.y,longitude:v.x,address:v.address,icon:'iconzuobiaoaa'}})
驼峰转换下划线
toLine(name) {
return name.replace(/([A-Z])/g,"_$1").toLowerCase();
删除数组对象其中属性一值的那个对象
let flowArr1 = this.storage.get("timeFlow");
let temp = flowArr1.filter((item) => {
return item.devId !== flowObj.devId })
temp.push(flowObj);
APP调用高德地图直接导航
var packageName = 'com.autonavi.minimap';
var main = plus.android.runtimeMainActivity();
var packageManager = main.getPackageManager();
var PackageManager = plus.android.importClass(packageManager)
var packageInfo = packageManager.getPackageInfo(packageName,PackageManager.GET_ACTIVITIES);
if (packageInfo) {
var Uri = plus.android.importClass("android.net.Uri");
var url = "amapuri://route/plan?sourceApplication=maxuslife" + `&sid=A&slat=${this.form.y}&slon=${this.form.x}&sname=${this.form.address}` + `&did=B&dlat=${this.locationData.latitude}&dlon=${this.locationData.longitude}&dname=${this.locationData.address}&dev=0&t=0`;
var Intent = plus.android.importClass('android.content.Intent');
var intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); intent.addCategory(Intent.CATEGORY_DEFAULT);
var uri = Uri.parse(url);
intent.setData(uri); intent.setPackage("com.autonavi.minimap");
var main = plus.android.runtimeMainActivity();
main.startActivity(intent);
} else {
alert('未安装' + packageName + '')
}
自动补齐10位数
nunColes(data, n) {
if (String(data).length > n) return data;
return (Array(n).join(0) + data).slice(-n);
},
删除数组中的空
arr = arr.filter(function(n) {
return n
});
视图层不更新 强制更新
this.$forceUpdate()
改变对象的属性名
let arrRow=JSON.parse(JSON.stringify(row))
var key1 = "leftText",
key2 = "value";
for (var i = 0; i < arrRow.length; i++) {
arrRow[i][key1] = arrRow[i].dmdDate
arrRow[i][key2] = arrRow[i].dmdAppValue
delete arrRow[i].dmdDate
delete arrRow[i].dmdAppValue
}
console.log(arr)
针对表单重置无效 输入框bug
Object.keys(this.form).forEach((item) => {
if (item !== 'companyCode') this.form[item] = ''
})
二次打开表单清除表单验证 要在打开事件
if (this.$refs.子组件名称.$refs.editForm)
this.$refs.子组件名称.$refs.editForm.resetFields();
输入框二次赋值后不能 编辑 用set
this.$set(this.addEquipmentFrom,"financialContact",val.financialContact)
this.$set(this.addEquipmentFrom,"financialNumber", val.financialNumber) this.$set(this.addEquipmentFrom,"financialIdNumber",val.financialIdNumber)
去除数组中的undefined
this.mins=this.mins.filter(d => d)
时间转换
var d = new Date();
this.categoryNameForm.creationTime = d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate() +
' ' +
d.getHours() + ':' + d.getMinutes() + ':' + d.getSeconds();
测试
Vue中的$event
输入框只能输入数字
oninput="value=value.replace(/[^\d]/g,'')"
maxLength='9'