坑1 - 视图数据未变更

我有一个挺复杂的数组,其中有三个picker组件。
我需要重构数组满足picker组件需要的value="index"。
image.png
怎么修改,库区的index都没值,导致无法选择货架盒子。
尝试了JSON.parse(JSON.stringify(data)),无效;
尝试了在增加index时$set无效;
最终,我在picker的change事件加了这句!!搞定。

<picker class="picker" @change="e => rackSelectChange(e, item, i)" :value="item.index" range-key="name" :range="...">
...
</picker>
areaSelectChange(e, item, i) {
  item.index = e.detail.value;
  // ....
  this.$set(array, i, item);
},

坑2 - @chang在微信上的错

原代码:

<picker @change="e => areaSelectChange(e, item, i)"></picker>

变更后:

<picker @change="areaSelectChange($event, item, i)"></picker>

坑3 - $store在微信上用不了

原代码:

<view v-if="aaa === $store.getters.userinfo.userId">要显示的内容</view>

变更后:

<view v-if="aaa === userinfo.userId">要显示的内容</view>

如何变更?需要先配置以下内容。
1.main.js;

import store from './store' // store
const app = new Vue({
  ...App,
    store
})

2.store;

import Vue from 'vue'
import Vuex from 'vuex'
import getters from './getters'

Vue.use(Vuex)

const store = new Vuex.Store({
  getters
})
export default store

3.使用的地方:

import { mapState } from 'vuex';
import store from '@/store';
export default {
  data() {
    return {
        userinfo: this.$store.getters.userinfo,
    };
  },
  computed: {
    ...mapState({
        getters: getters => getters
    })
  },
  created() {
    console.log(this.userinfo)
  },
};

坑4 - 自己写的组件微信用不了?

main.js:

import ComTest from './pages/index.vue';
Vue.component('ComTest', ComTest);

别局部引入,小程序搞不了!!!请全局引入!!!

坑5 - undefined微信小程序的不一样之处

如果你有一个搜索条件a: undefined。小程序发起请求时回直接传递参数为a: undefined,而不是pc端的不传递键值对a及其值。


请鹅出战
328 声望3 粉丝

当我带上墨镜,也许我就真的瞎了。