分类 Vue 下的文章

uniapp swiper 自身切换,条件不满足则回退


<swiper class="swiper-box" :autoplay="false" :current="current" @change="swiperChange">
    <swiper-item class="swiper-box-item" v-for="(list,n) in questionList" :data-current="n">

变化current 值可以切换

change会自动切换,
但在change里面更改current值可能不改变
var index = e.target.current || e.detail.current;
thisApp.current = index - 1;

what???

后来我才发现
最开始current默认为1,变化值为1时,它就不切换了
就是为什么呢?
当第一个页面切换到第2时,判断不成立,又把current的值切换成index-1,这样导致current的值就没有变化,这样就没有切换,但真实的已经被切换了。

后面就这样,把值变化一下又变化回来,但中间需要延迟才能解决
thisApp.current = index;
thisApp.current = index - 1;


子组件改变时,父级进行相应改变


有这样的需求
在父级table中传入一行数据到子组件中显示,但现在要求对数据进行增、删、改、查,刚好都在子组件中操作,如果不更新父组件会有脏数据。

怎么做呢,办法到挺多的,

和同事讨论最简单的方式是:改变子集的时候通知父级的一个事件,叫他做一点事就OK了,

譬如:
//亮点:rendern此时事件不用加@,如varChange不是@varChange

return h(expandRow, {
   props: {params: params},
       on:{
           varChange:(d,ro,m)=>{thisApp.tableExpandChange(d,ro,m)}
       }
})

//子集有数据改变时

tableExpandChange:function (d,ro,m) {
    let thisApp = this;
    this.$delete(thisApp.tableData[d.index].children[ro].children,m);
},

//子组件改变时传参

self.$emit('varChange',self.params,ro,m);

Vue iView 中组合选项初始化值失败


如果数组结构没有错的话,那就是你的数值类型出错了,譬如我的

[0, 3, 5, __ob__: Observer]

这里的值都是我初始化的数值

["0", 3, 5, __ob__: Observer]

下面是我选择后打印出来后的数值,看数组第一个是变量,这样,初始化的时候注意你选择后是哪种类型,对应的改变类型就OK 了