标签 vant 下的文章

如果直接使用提示未找到 van-dialog 节点请确认 selector 及 context 是否正确

Dialog.confirm({
    title: '提示',
    message: '订单删除后不可恢复/n是否确认删除?',
}).then(() => {
    // on confirm
}).catch(() => {
    // on cancel
});

增加context即可

Dialog.confirm({
    title: '提示',
    context: this,   // 增加this可用
    message: '订单删除后不可恢复/n是否确认删除?',
}).then(() => {
    // on confirm
}).catch(() => {
    // on cancel
});

首先说一点,setColumnIndex是可以正常使用的,没有问题!
它接收两个参数,第一个是列,如果只有一列的话,第一个值就为0,第二个值就是你想动态设置的索引值!
我遇到的问题是这样的,首先用this.setData来设置了picker组件里面列的值,但是马上设置它的默认索引的时候出的问题。需要设置两次才能设置上。
这是因为小程序的setData是异步的,第一次设置的时候,picker的值还没有获取设置上去,所以第一次当然就设置不了当前索引。
解决这个问题的方法也很简答。在setData的回调里面做这个就OK了

this.setData({
    show:true,
    pickerName:'workexp',
    columns: values,
    pickerTitle:'选择工作经验'
},function(){
    picker.setColumnIndex(0,this.data.info.workExperience-1)
})

SwipeCell 滑动单元格的demo,官方并没有给出一个可以使用的demo。只是说用小程序的selectComponent来获取到当前组件,然后就可以调用open与close事件了。

WXML如下

<block wx:for="{{list}}" wx:key="index">
    <van-swipe-cell right-width="{{ 120 }}" id="swipe-{{index}}">
        <view class="station-list wd">
            <view class="station-list-top">
                <text>{{item.jobName}}</text>
            </view>
            <view class="station-list-bottom">
                <text>{{item.recruitmentSubjectName}}</text>
            </view>
            <view class="more" bindtap="swipeOpen" data-index="{{index}}">
                <text class="iconfont icongengduo"></text>
            </view>
        </view>
        <view slot="right" class="right-bottom">
            <view class="right-edit">修改</view>
            <view class="right-del">删除</view>
        </view>
    </van-swipe-cell>
</block>

JS如下

swipeOpen(e){
    let index = e.currentTarget.dataset.index
    this.selectComponent('#swipe-'+index).open('right');
}

这样用的话,并不会报错。但是无论怎么样都是不能让它滑动打开的。

- 阅读剩余部分 -