1. 程式人生 > >mpvue+vant weapp專案開發過程中遇到的問題(未完待續)

mpvue+vant weapp專案開發過程中遇到的問題(未完待續)

一、元件上bind:方法名=“方法”,找不到方法

報錯圖:
在這裡插入圖片描述

百度到的:都說methods不可用,可以用computed代替,但是我用了computed,裡面的方法全都在頁面載入時做完了。。。還操作毛線。。。

解決辦法:誤打誤撞用methods可以了。把元件上的bind:方法名="方法"改成@方法名="方法";js依舊按vue的語法來寫:

<van-picker
	show-toolbar
	title="節日"
	:columns="columns"
	@cancel="onCancel()"
></van-picker>
export default {
  data() {
    return {
      festival: ""
    };
  },
  methods: {
    onCancel: function() {
      console.log("取消");
    }
  }
};

二、表單中,event.detail取不到值

vant weapp的文件上的picker選擇器:
在這裡插入圖片描述
即event.detail可以取到選擇器的值。

用mpvue果然不行,報錯如下:
在這裡插入圖片描述

解決辦法:在元件上寫方法的地方,引數中寫$event,例如

<van-picker
	show-toolbar
	title="節日"
	:columns="columns"
	@cancel="onCancel()"
	@confirm="onConfirm($event)"
></van-picker>

e.mp.detail代替原來的e.detail,即e.mp.detail.value

即可獲得選擇器選中的值了。

20190112更新:有類似情況,在使用actionsheet的時候onSelect選擇某一項,detail裡面只有name,因為我actions這個資料寫的是:
在這裡插入圖片描述
那麼e.mp.detail打印出來就只有name:
在這裡插入圖片描述
所以看情況取key名,可以先列印e.mp.detail看裡面有什麼是你需要的內容。

三、用mpvue寫自定義元件

未解決

四、vant weapp的button寬度問題

vant weapp的button一般是按文字長度顯示寬度的。如果想要顯示充滿整行的button:
在這裡插入圖片描述
按照官網給的示例寫“大號按鈕”就能充滿寬度,實際可行。
在這裡插入圖片描述
就是高度有點大,醜了點。。。不知道該怎麼辦,求解。