鍍金池/ 問答/ HTML問答
別傷我 回答

最優(yōu)的 寫法 是 寫個(gè) 過濾器,我們 公司是寫了一個(gè) diff 算法來 判斷什么修改了,只上傳修改的 或者 新增的
你這個(gè) 需求 還是在于 上傳

mylists = mylists.filter(x => !x.ser_ids.tirm() && !x.group.tirm()) 過濾掉沒有的

但是你 只要 第三個(gè)

if (!mylist[2]。user_ids.tirm() && !mylist[2].group.tirm()) {
   mylist = mylist.slice(0,2)
}

其實(shí)最好 不要改變 原有的 數(shù)據(jù) 最好的情況是 用 深拷貝 一份新數(shù)據(jù) 對其進(jìn)行操作
因?yàn)?后端如果 錯(cuò)誤,你原有數(shù)據(jù)改變 的情況下 是 無法 再一次 進(jìn)行相同的 操作de

愿如初 回答

后來發(fā)現(xiàn)了async.mapSeries能將多個(gè)任務(wù)的結(jié)果匯集在一起圖片描述

陪我終 回答

先獲取到數(shù)據(jù),然后去set進(jìn)series data。你現(xiàn)在這樣寫可能數(shù)據(jù)還沒獲取到就執(zhí)行到顯示echart了。

要保重?cái)?shù)據(jù)先獲取到。

汐顏 回答

報(bào)錯(cuò)的地方應(yīng)該不是你貼的代碼的地方,查看一下那個(gè)代碼使用了refs。那個(gè)ref出問題了。

耍太極 回答

你可以用一個(gè)數(shù)組來存class狀態(tài)。

<button data-index='{{index}}' class='{{index+1==selectedList[index]?"m":""}}' bindtap="changeName"> {{item.data}} </button>

Page({
  data: { name: 'lili', selectedList:[], datas: datas.dataa },
  changeName: function (e) {
    var x = e.currentTarget.dataset.index
    this.setData({
        ['selectedList[' + x + ']']: this.data.selectedList[x]?null:x+1
    })
})
生性 回答
實(shí)在不知道是為什么

你打印一下inp1,inp2的值就知道為什么了

墨染殤 回答

已經(jīng)解決了,不僅要把數(shù)據(jù)庫字符集換成指定的utf8mb4,數(shù)據(jù)連接的時(shí)候也要設(shè)置chatset為utf8mb4
參考1:mysql npmjs
參考2:博客

clipboard.png

故林 回答

你這樣寫當(dāng)然也可以,但現(xiàn)在vue最新文檔給的方案是使用dynamic import

乖乖噠 回答

路由配置給layout加上redirect。組件里面引入你的頭和腳。中間用router-view

薄荷綠 回答

把這個(gè)checkbox跟2個(gè)input的綁定值放在同一個(gè)對象上不就很容易實(shí)現(xiàn)啦,類似這樣

list: [
  {
    checked: false,
    value1: '',
    value2: ''
  },
],

然后用這個(gè)list循環(huán)出 是checkbox 對應(yīng)著兩個(gè)input 輸入框,checkbox被選中的時(shí)候listpush一個(gè)新的

list.push({
  checked: false,
  value1: '',
  value2: ''
})

對象進(jìn)去

我以為 回答

你檢查下你調(diào)用時(shí)用戶登錄狀態(tài),如果刷新了沒有使用加密時(shí)的sessionKey會導(dǎo)致調(diào)用失敗,你是否判定了第三方的調(diào)用會回調(diào)參數(shù),默認(rèn)的獲取手機(jī)號是不用驗(yàn)證碼的
參考:
獲取手機(jī)號

wxml

<button wx:if="{{canIUse}}" open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo">授權(quán)登錄</button>
<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">獲取手機(jī) </button>

js

Page({

  /**
   * 頁面的初始數(shù)據(jù)
   */
  data: {
    canIUse: wx.canIUse('button.open-type.getUserInfo')
  },

  /**
   * 生命周期函數(shù)--監(jiān)聽頁面加載
   */
  onLoad: function (options) {
    var that = this;
    // 查看是否授權(quán)
    wx.getSetting({
      success: function (res) {
        if (res.authSetting['scope.userInfo']) {
          // 已經(jīng)授權(quán),可以直接調(diào)用 getUserInfo 獲取頭像昵稱
          wx.getUserInfo({
            success: function (res) {
              //獲取用戶敏感數(shù)據(jù)密文和偏移向量
              if (res.userInfo) {
                //數(shù)據(jù)庫存儲用戶首次基本信息
                wx.request({
                  url: 'https:/xxxx',
                  data: {
                    userid: wx.getStorageSync('userid'),
                    avatarUrl: res.userInfo.avatarUrl,
                    city: res.userInfo.city,
                    country: res.userInfo.country,
                    gender: res.userInfo.gender,
                    nickName: res.userInfo.nickName,
                    province: res.userInfo.province
                  },
                  header: {
                    'content-type': 'application/x-www-form-urlencoded'
                  },
                  method: 'POST',
                  success: function (res) {
                    //console.log(res);
                    wx.showToast({
                      title: '登錄成功',
                    })
                  }
                })
              }
            }
          })
        }
      }
    })
  },

  /**
   * 生命周期函數(shù)--監(jiān)聽頁面初次渲染完成
   */
  onReady: function () {
  
  },

  getPhoneNumber: function (e) {
    console.log(e.detail.errMsg)
    console.log(e.detail.iv)
    console.log(e.detail.encryptedData)
  },
}

效果圖

圖片描述
圖片描述

我順序點(diǎn)擊登錄與收獲手機(jī)

祈歡 回答

用樓上思想實(shí)現(xiàn)的:

const html = `
<p>文字1 
<span style="color: #E36C09;">文字2</span>&nbsp;
<span style="font-size: 20px;">文字3&nbsp;
<span style="font-size: 30px; color: #974806;">文字4</span>
</span>
</p>`;
let div = document.createElement('div');
div.innerHTML = html;
function getData(node, data) {
    if (!Array.isArray(data)) {
        throw TypeError('data is not Array');
    }
    if (node.hasChildNodes()) {
        node.childNodes.forEach(element => {
            if (element.nodeType === 1) { // 元素結(jié)點(diǎn)
                getData(element, data); // 遞歸
            }
            if (element.nodeType === 3) { // 文本結(jié)點(diǎn)
                const text = element.nodeValue;
                if (!text.match(/^\s*$/g)) { // 非空白字符
                    const style = element.parentNode.style; // 父節(jié)點(diǎn)樣式
                    data.push({
                        text: text.trim(),
                        color: style.color,
                        font_size: style.fontSize,
                    });
                }
            }
        });
    }
}
let data = [];
getData(div, data);
console.log(data);
互擼娃 回答

服務(wù)端程序應(yīng)該設(shè)置允許跨域 + 允許攜帶的頭。

你這邊提供了自定義頭部 cross-method,content-type,如果使用的是 php

// 允許所有源訪問
header('Access-Control-Allow-Origin: *');
// 允許攜帶的頭
// Access-Control-Allow-Headers 具體詳情請查看:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Access-Control-Allow-Headers
header('Access-Control-Allow-headers: cross-method'); // 由于 content-type 屬于簡單頭部,自動允許,無需提供
舊言 回答

你這類情況已經(jīng)很普遍了,移動端placeholder不能垂直居中,主要原因是line-height在移動端確實(shí)不怎么樣,居中效果并不好,改為padding才好了些。但是padding也僅僅是好一點(diǎn),對有些強(qiáng)迫癥的人還是不能忍受。這是我自己處理這個(gè)問題的方法,http://www.cnblogs.com/zjzhom...

大濕胸 回答

如果是塊元素的水平居中只需要使用margin: 0 auto;

奧特蛋 回答

一種是框架自帶的longpress事件,一種你可以通過touchstart自己規(guī)定一個(gè)長按的時(shí)間,通過這樣的控制你的黑框出現(xiàn)或消失