工作中遇到的問題
阿新 • • 發佈:2020-10-21
9.17:出現左右滑動(ios)
針對蘋果手機檢視頁面出現左右滑動的問題: 由於設定了padding,安卓等其他手機會自動忽略,但蘋果手機會顯示出來,所以造成左右滑動。另外,若設定了 position:relative 定位,並設定了left,right屬性也可能會導致蘋果手機頁面左右滑動。
解決辦法:
1,給設定了padding屬性的地方增加 box-sizing: border-box;
2,儘量避免在使用相對定位時設定過大的左右值
9.18: 上下滑動檢視不全(ios)
問題:當底部有button固定時,蘋果手機上下滑動檢視不全
解決辦法:在按鈕上方增加一個空白的
demo:
<view class="remark"> <view class="remark-title">備註</view> <textarea maxlength="200" placeholder="請填寫" placeholder-class="placeholder" value="{{plan.remark}}" @input="setRemark" /> <view class="remark-count">{{plan.remark ? plan.remark.length : 0}}/200</view> </view> <view class="placeholder-view"></view> <view class="fixed-button"> <button @tap="save">儲存</button> </view>
.placeholder-view {
width: 100%;
height: 140rpx;
}
10.21:PUT/POST請求時,請求引數全部打散
解決辦法:在請求資訊中增加headers頭部,並將引數字串化
headers: 'application/json',
body: JSON.stringify(params),
Demo:
static saveMachineEnterEdit(id, params) { return request({ url: `${apiHostMap.CP_HOST_WEB}/machine-entry-records/${id}`, method: 'PUT', headers: 'application/json', body: JSON.stringify(params), }); }
10.21: Antd上傳圖片,獲取圖片時,因uid問題報錯
問題:fileList={infoImages}
中的infoImages
物件必須包含uid,否則會報錯。
解決方法:若後端同學返回的格式中不包含uid,則在獲取資料時手動增加上。
如:
images.forEach(img => {
img.uid = img.url;
});
完整程式碼
// 上傳獲取圖片
<Upload
{...uploadProps}
listType="picture-card"
fileList={infoImages}
onChange={({ fileList }) => {
const { dispatch } = this.props;
dispatch({
type: 'machineDetail/overrideStateProps',
payload: {
infoImages: fileList,
},
});
}}
onPreview={this.handlePreview}
>
{infoImages.length >= 5 ? null : uploadButton}
</Upload>
// 獲取進場資訊
*fetchMachineEnterInfo({ payload }, { call, put }) {
const response = yield call(Machine.fetchMachineEnterInfo, payload);
if (response.XCmdrCode === 0) {
const { images, attachments, is_entry } = response.XCmdrResult;
if (images.length > 0) {
images.forEach(img => {
img.uid = img.url;
});
}
yield put({
type: 'overrideStateProps',
payload: {
infoImages: images,
infoAttachments: attachments,
is_entry,
},
});
}
},